summaryrefslogtreecommitdiff
path: root/tests/queryset_pickle
diff options
context:
space:
mode:
authorMariusz Felisiak <felisiak.mariusz@gmail.com>2020-05-19 21:05:52 +0200
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-05-19 22:44:57 +0200
commitb739f2e91d68aa3d4c5009127a43af037796225a (patch)
tree157c0f0840230e44c4c09a7912cc0459ba443e37 /tests/queryset_pickle
parent5af17babb0f895cf129fdeee92548d2ac12e78e2 (diff)
downloaddjango-b739f2e91d68aa3d4c5009127a43af037796225a.tar.gz
Refs #30727 -- Added tests for Subquery with queryset in kwargs pickle without evaluating it.
Diffstat (limited to 'tests/queryset_pickle')
-rw-r--r--tests/queryset_pickle/tests.py12
1 files changed, 12 insertions, 0 deletions
diff --git a/tests/queryset_pickle/tests.py b/tests/queryset_pickle/tests.py
index baf2e96aaf..a58e45caed 100644
--- a/tests/queryset_pickle/tests.py
+++ b/tests/queryset_pickle/tests.py
@@ -195,6 +195,18 @@ class PickleabilityTestCase(TestCase):
with self.assertNumQueries(0):
self.assert_pickles(groups)
+ def test_pickle_exists_kwargs_queryset_not_evaluated(self):
+ group = Group.objects.create(name='group')
+ Event.objects.create(title='event', group=group)
+ groups = Group.objects.annotate(
+ has_event=models.Exists(
+ queryset=Event.objects.filter(group_id=models.OuterRef('id')),
+ ),
+ )
+ list(groups) # evaluate QuerySet.
+ with self.assertNumQueries(0):
+ self.assert_pickles(groups)
+
def test_pickle_subquery_queryset_not_evaluated(self):
group = Group.objects.create(name='group')
Event.objects.create(title='event', group=group)