Fixed #30368 -- Fixed prefetch_related() for GenericForeignKey when PK is also a FK.

This commit is contained in:
Vinny Do 2019-04-16 17:49:16 +10:00 committed by Mariusz Felisiak
parent d610521bff
commit a4055adf70
3 changed files with 11 additions and 0 deletions

View file

@ -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