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

Fixed #24418 -- Prevented crash in refresh_from_db with null fk

Thanks Johannes Lerch for the report, Tim Graham for the test case,
and Simon Charette for the review.
This commit is contained in:
Claude Paroz
2015-02-27 18:19:56 +01:00
parent 2b19b3a031
commit 5cf96b49e4
2 changed files with 8 additions and 1 deletions

View File

@@ -596,7 +596,7 @@ class Model(six.with_metaclass(ModelBase)):
if field.rel and field.get_cache_name() in self.__dict__:
rel_instance = getattr(self, field.get_cache_name())
local_val = getattr(db_instance, field.attname)
related_val = getattr(rel_instance, field.related_field.attname)
related_val = None if rel_instance is None else getattr(rel_instance, field.related_field.attname)
if local_val != related_val:
del self.__dict__[field.get_cache_name()]
self._state.db = db_instance._state.db