diff options
| author | Keryn Knight <keryn@kerynknight.com> | 2021-08-01 12:13:35 +0100 |
|---|---|---|
| committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2021-11-08 08:44:12 +0100 |
| commit | 4f8c7fd9d91b35e2c2922de4bb50c8c8066cbbc6 (patch) | |
| tree | 8852a9111b57708f644f9a792e1cd06597cdb61a /django/contrib/contenttypes | |
| parent | ba9ced3e9a643a05bc521f0a2e6d02e3569de374 (diff) | |
Fixed #32980 -- Made models cache related managers.
Diffstat (limited to 'django/contrib/contenttypes')
| -rw-r--r-- | django/contrib/contenttypes/fields.py | 8 |
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): """ |
