summaryrefslogtreecommitdiff
path: root/tests/queryset_pickle
diff options
context:
space:
mode:
authorAlex Aktsipetrov <aaktsipetrov@iponweb.net>2019-10-15 01:59:43 +0300
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-10-21 13:21:54 +0200
commit681f7e2b13846def9eff3d26ce1371d05fa90c4c (patch)
treec879edafb74a7e39dd53186a5cfd9b0996d522f9 /tests/queryset_pickle
parent70d81469861f0abe8e7cb325f743b85f28d03b71 (diff)
downloaddjango-681f7e2b13846def9eff3d26ce1371d05fa90c4c.tar.gz
Fixed #20577 -- Deferred filtering of prefetched related querysets.
Added internal interface to QuerySet that allows to defer next filter call till .query is accessed. Used it to optimize prefetch_related(). Thanks Simon Charette for the review.
Diffstat (limited to 'tests/queryset_pickle')
-rw-r--r--tests/queryset_pickle/tests.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/queryset_pickle/tests.py b/tests/queryset_pickle/tests.py
index 1b3f237819..9ef19cfa9d 100644
--- a/tests/queryset_pickle/tests.py
+++ b/tests/queryset_pickle/tests.py
@@ -212,6 +212,12 @@ class PickleabilityTestCase(TestCase):
qs = Happening.objects.annotate(latest_time=models.Max('when'))
self.assert_pickles(qs)
+ def test_filter_deferred(self):
+ qs = Happening.objects.all()
+ qs._defer_next_filter = True
+ qs = qs.filter(id=0)
+ self.assert_pickles(qs)
+
def test_missing_django_version_unpickling(self):
"""
#21430 -- Verifies a warning is raised for querysets that are