From a4055adf702d086334a9ab2ca25a5e41e896a4fb Mon Sep 17 00:00:00 2001 From: Vinny Do Date: Tue, 16 Apr 2019 17:49:16 +1000 Subject: Fixed #30368 -- Fixed prefetch_related() for GenericForeignKey when PK is also a FK. --- tests/prefetch_related/tests.py | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'tests') diff --git a/tests/prefetch_related/tests.py b/tests/prefetch_related/tests.py index a32ac81d12..0b3caed0dc 100644 --- a/tests/prefetch_related/tests.py +++ b/tests/prefetch_related/tests.py @@ -891,6 +891,13 @@ class GenericRelationTests(TestCase): qs = Comment.objects.prefetch_related('content_object_uuid') self.assertEqual([c.content_object_uuid for c in qs], [article]) + def test_prefetch_GFK_fk_pk(self): + book = Book.objects.create(title='Poems') + book_with_year = BookWithYear.objects.create(book=book, published_year=2019) + Comment.objects.create(comment='awesome', content_object=book_with_year) + qs = Comment.objects.prefetch_related('content_object') + self.assertEqual([c.content_object for c in qs], [book_with_year]) + def test_traverse_GFK(self): """ A 'content_object' can be traversed with prefetch_related() and -- cgit v1.3