summaryrefslogtreecommitdiff
path: root/django/db/models
diff options
context:
space:
mode:
authorFlorian Demmer <fdemmer@gmail.com>2021-03-18 12:59:55 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-03-23 21:27:55 +0100
commit3a185cee2af919cd0e897d884eaafe421cd3ba48 (patch)
tree53953395d95aae3ff9c0d7cfeeccce7fcf74468c /django/db/models
parent6efc35b4fe3009666e56a60af0675d7d532bf4ff (diff)
Fixed #32573 -- Fixed bounds in __iso_year lookup optimization.
Diffstat (limited to 'django/db/models')
-rw-r--r--django/db/models/lookups.py10
1 files changed, 8 insertions, 2 deletions
diff --git a/django/db/models/lookups.py b/django/db/models/lookups.py
index 916478d075..6c923fe1a6 100644
--- a/django/db/models/lookups.py
+++ b/django/db/models/lookups.py
@@ -539,11 +539,17 @@ class IRegex(Regex):
class YearLookup(Lookup):
def year_lookup_bounds(self, connection, year):
+ from django.db.models.functions import ExtractIsoYear
+ iso_year = isinstance(self.lhs, ExtractIsoYear)
output_field = self.lhs.lhs.output_field
if isinstance(output_field, DateTimeField):
- bounds = connection.ops.year_lookup_bounds_for_datetime_field(year)
+ bounds = connection.ops.year_lookup_bounds_for_datetime_field(
+ year, iso_year=iso_year,
+ )
else:
- bounds = connection.ops.year_lookup_bounds_for_date_field(year)
+ bounds = connection.ops.year_lookup_bounds_for_date_field(
+ year, iso_year=iso_year,
+ )
return bounds
def as_sql(self, compiler, connection):