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):