1
0
mirror of https://github.com/django/django.git synced 2025-10-24 06:06:09 +00:00

Fixed #27846 -- Made Model.refresh_from_db() clear cached relations.

This commit is contained in:
Paulo
2017-09-19 12:51:19 -05:00
committed by Tim Graham
parent df0aebc893
commit a7b5ad8b19
3 changed files with 22 additions and 1 deletions

View File

@@ -627,6 +627,12 @@ class Model(metaclass=ModelBase):
related_val = None if rel_instance is None else getattr(rel_instance, field.target_field.attname)
if local_val != related_val or (local_val is None and related_val is None):
field.delete_cached_value(self)
# Clear cached relations.
for field in self._meta.related_objects:
if field.is_cached(self):
field.delete_cached_value(self)
self._state.db = db_instance._state.db
def serializable_value(self, field_name):