summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Graham <timograham@gmail.com>2014-02-28 20:42:56 -0500
committerTim Graham <timograham@gmail.com>2014-02-28 20:42:56 -0500
commit8137215973c8cf97f58f244021b1a4e75923ade8 (patch)
tree1e9da58f0c931a4cd38a8532bf070803e2ff0a17
parent7c0102379a1a1b386f4f4908d4a05b01df5f29f0 (diff)
Added release note and regression test for refs #21643.
This will be backported to stable/1.6.x along with the original fix.
-rw-r--r--docs/releases/1.6.3.txt4
-rw-r--r--tests/expressions_regress/tests.py7
2 files changed, 11 insertions, 0 deletions
diff --git a/docs/releases/1.6.3.txt b/docs/releases/1.6.3.txt
index 99b8566270..a8b63dc72a 100644
--- a/docs/releases/1.6.3.txt
+++ b/docs/releases/1.6.3.txt
@@ -14,3 +14,7 @@ several bugs in 1.6.2:
* Fixed ``AttributeError`` when using
:meth:`~django.db.models.query.QuerySet.bulk_create` with ``ForeignObject``
(`#21566 <http://code.djangoproject.com/ticket/21566>`_).
+
+* Fixed crash of ``QuerySet``\s that use ``F() + timedelta()`` when their query
+ was compiled more once
+ (`#21643 <http://code.djangoproject.com/ticket/21643>`_).
diff --git a/tests/expressions_regress/tests.py b/tests/expressions_regress/tests.py
index 7533e4ee39..8f87940c9e 100644
--- a/tests/expressions_regress/tests.py
+++ b/tests/expressions_regress/tests.py
@@ -281,6 +281,13 @@ class FTimeDeltaTests(TestCase):
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]