summaryrefslogtreecommitdiff
path: root/tests/generic_relations
diff options
context:
space:
mode:
authorEugene Hatsko <e.hacko.nicecode@gmail.com>2020-01-21 10:12:25 +0300
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2020-01-22 07:54:16 +0100
commit0b013564ef0609d95b1d263626f2e15bccda1a50 (patch)
tree13e1ac0b31173d2d707f138e3732905394a57555 /tests/generic_relations
parentb753e0e750cc70c77f9d9591f0c4701b72242c62 (diff)
downloaddjango-0b013564ef0609d95b1d263626f2e15bccda1a50.tar.gz
Fixed #31190 -- Fixed prefetch_related() crash for GenericForeignKey with custom ContentType foreign key.
Regression in dffa3e1992562ba60512d96d1eb5859ffff2ceb5.
Diffstat (limited to 'tests/generic_relations')
-rw-r--r--tests/generic_relations/tests.py13
1 files changed, 13 insertions, 0 deletions
diff --git a/tests/generic_relations/tests.py b/tests/generic_relations/tests.py
index 7c0db95908..683efaddfb 100644
--- a/tests/generic_relations/tests.py
+++ b/tests/generic_relations/tests.py
@@ -564,6 +564,19 @@ class GenericRelationsTests(TestCase):
for tag in tags:
self.assertSequenceEqual(tag.content_object.tags.all(), [tag])
+ def test_prefetch_related_custom_object_id(self):
+ tiger = Animal.objects.create(common_name='tiger')
+ cheetah = Animal.objects.create(common_name='cheetah')
+ Comparison.objects.create(
+ first_obj=cheetah, other_obj=tiger, comparative='faster',
+ )
+ Comparison.objects.create(
+ first_obj=tiger, other_obj=cheetah, comparative='cooler',
+ )
+ qs = Comparison.objects.prefetch_related('first_obj__comparisons')
+ for comparison in qs:
+ self.assertSequenceEqual(comparison.first_obj.comparisons.all(), [comparison])
+
class ProxyRelatedModelTest(TestCase):
def test_default_behavior(self):