diff options
author | Rachel Tobin <rmtobin@users.noreply.github.com> | 2017-07-21 15:21:13 -0700 |
---|---|---|
committer | Tim Graham <timograham@gmail.com> | 2017-07-21 18:21:13 -0400 |
commit | f9e5f9ae9f83c7ddf5e5d3c369b6bf54a9b80ab5 (patch) | |
tree | 657a85ce8581e3105a967bc9f85360664c240322 /tests/generic_relations_regress | |
parent | c6986a4ebff8db923f906ce84cf118efc82ec79a (diff) | |
download | django-f9e5f9ae9f83c7ddf5e5d3c369b6bf54a9b80ab5.tar.gz |
Fixed #28418 -- Fixed queryset crash when using a GenericRelation to a proxy model.
Diffstat (limited to 'tests/generic_relations_regress')
-rw-r--r-- | tests/generic_relations_regress/models.py | 6 | ||||
-rw-r--r-- | tests/generic_relations_regress/tests.py | 5 |
2 files changed, 11 insertions, 0 deletions
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) |