summaryrefslogtreecommitdiff
path: root/django/contrib/contenttypes
diff options
context:
space:
mode:
authorKeryn Knight <keryn@kerynknight.com>2021-08-01 12:13:35 +0100
committerMariusz Felisiak <felisiak.mariusz@gmail.com>2021-11-08 08:44:12 +0100
commit4f8c7fd9d91b35e2c2922de4bb50c8c8066cbbc6 (patch)
tree8852a9111b57708f644f9a792e1cd06597cdb61a /django/contrib/contenttypes
parentba9ced3e9a643a05bc521f0a2e6d02e3569de374 (diff)
Fixed #32980 -- Made models cache related managers.
Diffstat (limited to 'django/contrib/contenttypes')
-rw-r--r--django/contrib/contenttypes/fields.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/django/contrib/contenttypes/fields.py b/django/contrib/contenttypes/fields.py
index b0b77b01d4..278b5bb585 100644
--- a/django/contrib/contenttypes/fields.py
+++ b/django/contrib/contenttypes/fields.py
@@ -505,6 +505,14 @@ class ReverseGenericManyToOneDescriptor(ReverseManyToOneDescriptor):
self.rel,
)
+ @cached_property
+ def related_manager_cache_key(self):
+ # By default, GenericRel instances will be marked as hidden unless
+ # related_query_name is given (their accessor name being "+" when
+ # hidden), which would cause multiple GenericRelations declared on a
+ # single model to collide, so always use the remote field's name.
+ return self.field.get_cache_name()
+
def create_generic_related_manager(superclass, rel):
"""