summaryrefslogtreecommitdiff
path: root/tests/generic_relations_regress
diff options
context:
space:
mode:
authorRachel Tobin <rmtobin@users.noreply.github.com>2017-07-21 15:21:13 -0700
committerTim Graham <timograham@gmail.com>2017-07-21 18:21:13 -0400
commitf9e5f9ae9f83c7ddf5e5d3c369b6bf54a9b80ab5 (patch)
tree657a85ce8581e3105a967bc9f85360664c240322 /tests/generic_relations_regress
parentc6986a4ebff8db923f906ce84cf118efc82ec79a (diff)
downloaddjango-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.py6
-rw-r--r--tests/generic_relations_regress/tests.py5
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)