From b5c7cb4d3306a7b4e8f87bcf365ff30ae53018ed Mon Sep 17 00:00:00 2001 From: Ramiro Morales Date: Wed, 8 Aug 2018 22:25:18 -0300 Subject: Fixed #29653 -- Fixed missing related_query_name reverse accessor if GenericRelation is declared on an abstract base model. Regression in 4ab027b94409e6415b774797bf9d3593da9d9ea8. Thanks Lauri Kainulainen for the report. --- tests/generic_relations_regress/models.py | 2 +- tests/generic_relations_regress/tests.py | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) (limited to 'tests') diff --git a/tests/generic_relations_regress/models.py b/tests/generic_relations_regress/models.py index f9cdb1b549..06f5888fbe 100644 --- a/tests/generic_relations_regress/models.py +++ b/tests/generic_relations_regress/models.py @@ -158,7 +158,7 @@ class SpecialGenericRelation(GenericRelation): class HasLinks(models.Model): - links = SpecialGenericRelation(Link) + links = SpecialGenericRelation(Link, related_query_name='targets') class Meta: abstract = True diff --git a/tests/generic_relations_regress/tests.py b/tests/generic_relations_regress/tests.py index 769a64d0f1..fc7447fa51 100644 --- a/tests/generic_relations_regress/tests.py +++ b/tests/generic_relations_regress/tests.py @@ -273,3 +273,12 @@ class GenericRelationTests(TestCase): link = Link.objects.create(content_object=place) result = Link.objects.filter(places=place) self.assertCountEqual(result, [link]) + + def test_generic_reverse_relation_with_abc(self): + """ + The reverse generic relation accessor (targets) is created if the + GenericRelation comes from an abstract base model (HasLinks). + """ + thing = HasLinkThing.objects.create() + link = Link.objects.create(content_object=thing) + self.assertCountEqual(link.targets.all(), [thing]) -- cgit v1.3