diff options
| author | Alexey Voronov <despawn@gmail.com> | 2013-12-22 00:03:17 +0200 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2014-02-28 20:49:13 -0500 |
| commit | 5cda1d27027ea74d8a1b53e43bef697cd4426e9a (patch) | |
| tree | c37a3eb1512152d38d76976a8cea7f0965c1e782 /tests | |
| parent | f2b513c9e8416855a92e66928c2e22a8fc639273 (diff) | |
[1.6.x] Fixed #21643 -- repeated execution of qs with F() + timedelta
Thanks Tim Graham for review and Tai Lee for the additional test to prove
this was a regression in 1.6.
Backport of 7f2485b4d1 and 8137215973 from master
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/expressions_regress/tests.py | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/expressions_regress/tests.py b/tests/expressions_regress/tests.py index ddb2c83b4f..a9737f433d 100644 --- a/tests/expressions_regress/tests.py +++ b/tests/expressions_regress/tests.py @@ -259,6 +259,20 @@ class FTimeDeltaTests(TestCase): self.days_long.append(e4.completed-e4.assigned) self.expnames = [e.name for e in Experiment.objects.all()] + def test_multiple_query_compilation(self): + # Ticket #21643 + queryset = Experiment.objects.filter(end__lt=F('start') + datetime.timedelta(hours=1)) + q1 = str(queryset.query) + q2 = str(queryset.query) + self.assertEqual(q1, q2) + + def test_query_clone(self): + # Ticket #21643 + qs = Experiment.objects.filter(end__lt=F('start') + datetime.timedelta(hours=1)) + qs2 = qs.all() + list(qs) + list(qs2) + def test_delta_add(self): for i in range(len(self.deltas)): delta = self.deltas[i] |
