summaryrefslogtreecommitdiff
path: root/tests/db_functions
diff options
context:
space:
mode:
authorSimon Charette <simon.charette@zapier.com>2019-05-20 19:39:41 -0400
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-05-21 07:12:33 +0200
commit2b582a7b84348aee0667cd3f9dc9793c04d958e0 (patch)
treefab3987cd5426b2170a31f9eeeb241f63a7bd1b4 /tests/db_functions
parent4d1420947e79bc89d266229feea305294ec896ee (diff)
Fixed #29396 -- Added indirect values support to __year lookups.
Thanks Windson Yang for the initial patch.
Diffstat (limited to 'tests/db_functions')
-rw-r--r--tests/db_functions/datetime/test_extract_trunc.py10
1 files changed, 10 insertions, 0 deletions
diff --git a/tests/db_functions/datetime/test_extract_trunc.py b/tests/db_functions/datetime/test_extract_trunc.py
index f62bd0f0b2..854959aca6 100644
--- a/tests/db_functions/datetime/test_extract_trunc.py
+++ b/tests/db_functions/datetime/test_extract_trunc.py
@@ -135,6 +135,11 @@ class DateFunctionTests(TestCase):
qs = DTModel.objects.filter(**{'start_datetime__%s__gte' % lookup: 2015})
self.assertEqual(qs.count(), 2)
self.assertEqual(str(qs.query).lower().count('extract'), 0)
+ qs = DTModel.objects.annotate(
+ start_year=ExtractYear('start_datetime'),
+ ).filter(**{'end_datetime__%s__gte' % lookup: F('start_year')})
+ self.assertEqual(qs.count(), 1)
+ self.assertGreaterEqual(str(qs.query).lower().count('extract'), 2)
def test_extract_year_lessthan_lookup(self):
start_datetime = datetime(2015, 6, 15, 14, 10)
@@ -153,6 +158,11 @@ class DateFunctionTests(TestCase):
qs = DTModel.objects.filter(**{'start_datetime__%s__lte' % lookup: 2016})
self.assertEqual(qs.count(), 2)
self.assertEqual(str(qs.query).count('extract'), 0)
+ qs = DTModel.objects.annotate(
+ end_year=ExtractYear('end_datetime'),
+ ).filter(**{'start_datetime__%s__lte' % lookup: F('end_year')})
+ self.assertEqual(qs.count(), 1)
+ self.assertGreaterEqual(str(qs.query).lower().count('extract'), 2)
def test_extract_func(self):
start_datetime = datetime(2015, 6, 15, 14, 30, 50, 321)