From 5d240b070d744f9a2f4cc3117306ea861d866019 Mon Sep 17 00:00:00 2001 From: Simon Charette Date: Fri, 19 Feb 2016 12:47:24 -0500 Subject: [PATCH] Refs #17001 -- Added a test for custom prefetch related queryset on generic relations. --- tests/prefetch_related/tests.py | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/tests/prefetch_related/tests.py b/tests/prefetch_related/tests.py index 494011486c0..d8c1458ce2a 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):