diff options
| author | Paulo <commonzenpython@gmail.com> | 2016-06-04 16:10:37 -0700 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-08-10 12:06:02 -0400 |
| commit | bfb746f983aa741afa3709794e70f1e0ab6040b5 (patch) | |
| tree | 48b4a70b1d5119d75157dcae5283f881117fd0a4 /django/db/models/fields/reverse_related.py | |
| parent | 22ff86ec52bb536ad9d1fa3ee0c9a3d5eb9925c1 (diff) | |
| download | django-bfb746f983aa741afa3709794e70f1e0ab6040b5.tar.gz | |
Refs #16043 -- Refactored internal fields value cache.
* Removed all hardcoded logic for _{fieldname}_cache.
* Added an internal API for interacting with the field values cache.
Thanks carljm and MarkusH for support.
Diffstat (limited to 'django/db/models/fields/reverse_related.py')
| -rw-r--r-- | django/db/models/fields/reverse_related.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/django/db/models/fields/reverse_related.py b/django/db/models/fields/reverse_related.py index ab8b3ffe58..1f42375566 100644 --- a/django/db/models/fields/reverse_related.py +++ b/django/db/models/fields/reverse_related.py @@ -13,9 +13,10 @@ from django.core import exceptions from django.utils.functional import cached_property from . import BLANK_CHOICE_DASH +from .mixins import FieldCacheMixin -class ForeignObjectRel: +class ForeignObjectRel(FieldCacheMixin): """ Used by ForeignObject to store information about the relation. @@ -162,12 +163,16 @@ class ForeignObjectRel: return self.related_name return opts.model_name + ('_set' if self.multiple else '') - def get_cache_name(self): - return "_%s_cache" % self.get_accessor_name() - def get_path_info(self): return self.field.get_reverse_path_info() + def get_cache_name(self): + """ + Return the name of the cache key to use for storing an instance of the + forward model on the reverse model. + """ + return self.get_accessor_name() + class ManyToOneRel(ForeignObjectRel): """ |
