From f676305ecede116332884ea682fc953c29813232 Mon Sep 17 00:00:00 2001 From: Jacob Haslehurst Date: Thu, 7 Aug 2014 16:06:44 +1000 Subject: [PATCH] Fixed #22982 -- Added GenericRelatedObjectManager.__str__. to prevent crash. Thanks bendavis78 for the report. Forwardport of 29585e9b6a from stable/1.7.x --- django/contrib/contenttypes/fields.py | 3 +++ tests/generic_relations_regress/tests.py | 4 ++++ 2 files changed, 7 insertions(+) diff --git a/django/contrib/contenttypes/fields.py b/django/contrib/contenttypes/fields.py index 3c3b4d0039d..5620d735fcf 100644 --- a/django/contrib/contenttypes/fields.py +++ b/django/contrib/contenttypes/fields.py @@ -457,6 +457,9 @@ def create_generic_related_manager(superclass): ) do_not_call_in_templates = True + def __str__(self): + return repr(self) + def get_queryset(self): try: return self.instance._prefetched_objects_cache[self.prefetch_cache_name] diff --git a/tests/generic_relations_regress/tests.py b/tests/generic_relations_regress/tests.py index 93eac5292bc..2804530f848 100644 --- a/tests/generic_relations_regress/tests.py +++ b/tests/generic_relations_regress/tests.py @@ -260,3 +260,7 @@ class GenericRelationTests(TestCase): # where the pre_delete signal should fire and prevent deletion. with self.assertRaises(ProtectedError): related.delete() + + def test_ticket_22982(self): + place = Place.objects.create(name='My Place') + self.assertIn('GenericRelatedObjectManager', str(place.links))