From f9e5f9ae9f83c7ddf5e5d3c369b6bf54a9b80ab5 Mon Sep 17 00:00:00 2001 From: Rachel Tobin Date: Fri, 21 Jul 2017 15:21:13 -0700 Subject: Fixed #28418 -- Fixed queryset crash when using a GenericRelation to a proxy model. --- tests/generic_relations_regress/models.py | 6 ++++++ tests/generic_relations_regress/tests.py | 5 +++++ 2 files changed, 11 insertions(+) (limited to 'tests/generic_relations_regress') diff --git a/tests/generic_relations_regress/models.py b/tests/generic_relations_regress/models.py index 6fca154f15..2011ea14b9 100644 --- a/tests/generic_relations_regress/models.py +++ b/tests/generic_relations_regress/models.py @@ -19,9 +19,15 @@ class Link(models.Model): return "Link to %s id=%s" % (self.content_type, self.object_id) +class LinkProxy(Link): + class Meta: + proxy = True + + class Place(models.Model): name = models.CharField(max_length=100) links = GenericRelation(Link) + link_proxy = GenericRelation(LinkProxy) def __str__(self): return "Place: %s" % self.name diff --git a/tests/generic_relations_regress/tests.py b/tests/generic_relations_regress/tests.py index 0dac7040e4..9add025a46 100644 --- a/tests/generic_relations_regress/tests.py +++ b/tests/generic_relations_regress/tests.py @@ -246,3 +246,8 @@ class GenericRelationTests(TestCase): def test_ticket_22982(self): place = Place.objects.create(name='My Place') self.assertIn('GenericRelatedObjectManager', str(place.links)) + + def test_filter_on_related_proxy_model(self): + place = Place.objects.create() + Link.objects.create(content_object=place) + self.assertEqual(Place.objects.get(link_proxy__object_id=place.id), place) -- cgit v1.3