summaryrefslogtreecommitdiff
path: root/tests/prefetch_related
diff options
context:
space:
mode:
authorIain Watts <iain@rover.com>2019-05-15 16:09:16 -0700
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2019-05-16 21:39:55 +0200
commit59ffafa1d2f466fa7aacbe74fe2787b2004b7871 (patch)
tree40f3bcab87648184de222f72c17608f680dbeba6 /tests/prefetch_related
parent4442ee8a51ad04730e4af2833728c345042b69cf (diff)
downloaddjango-59ffafa1d2f466fa7aacbe74fe2787b2004b7871.tar.gz
Fixed #30482 -- Prevented unnecessary evaluation of lookup.queryset in prefetch_related_objects().
Diffstat (limited to 'tests/prefetch_related')
-rw-r--r--tests/prefetch_related/tests.py15
1 files changed, 10 insertions, 5 deletions
diff --git a/tests/prefetch_related/tests.py b/tests/prefetch_related/tests.py
index 0b3caed0dc..49c7fd8ff6 100644
--- a/tests/prefetch_related/tests.py
+++ b/tests/prefetch_related/tests.py
@@ -400,11 +400,16 @@ class CustomPrefetchTests(TestCase):
"'houses' lookup was already seen with a different queryset. You "
"may need to adjust the ordering of your lookups."
)
- with self.assertRaisesMessage(ValueError, msg):
- self.traverse_qs(
- Person.objects.prefetch_related('houses__rooms', Prefetch('houses', queryset=House.objects.all())),
- [['houses', 'rooms']]
- )
+ # lookup.queryset shouldn't be evaluated.
+ with self.assertNumQueries(3):
+ with self.assertRaisesMessage(ValueError, msg):
+ self.traverse_qs(
+ Person.objects.prefetch_related(
+ 'houses__rooms',
+ Prefetch('houses', queryset=House.objects.all()),
+ ),
+ [['houses', 'rooms']],
+ )
# Ambiguous: Lookup houses_lst doesn't yet exist when performing houses_lst__rooms.
msg = (