summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/prefetch_related/tests.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/prefetch_related/tests.py b/tests/prefetch_related/tests.py
index 494011486c..d8c1458ce2 100644
--- a/tests/prefetch_related/tests.py
+++ b/tests/prefetch_related/tests.py
@@ -836,6 +836,19 @@ class GenericRelationTests(TestCase):
self.assertEqual(sorted([i.tag for i in bookmark.tags.all()]), ["django", "python"])
self.assertEqual([i.tag for i in bookmark.favorite_tags.all()], ["python"])
+ def test_custom_queryset(self):
+ bookmark = Bookmark.objects.create(url='http://www.djangoproject.com/')
+ django_tag = TaggedItem.objects.create(content_object=bookmark, tag='django')
+ TaggedItem.objects.create(content_object=bookmark, tag='python')
+
+ with self.assertNumQueries(2):
+ bookmark = Bookmark.objects.prefetch_related(
+ Prefetch('tags', TaggedItem.objects.filter(tag='django')),
+ ).get()
+
+ with self.assertNumQueries(0):
+ self.assertEqual(list(bookmark.tags.all()), [django_tag])
+
class MultiTableInheritanceTest(TestCase):