slightly simpler condition in _clear_changed_fields

This commit is contained in:
Stefan Wojcik 2016-12-11 17:22:38 -05:00
parent 828d5d6d29
commit fdc1d94f47

View File

@ -477,8 +477,9 @@ class BaseDocument(object):
remove(field) remove(field)
def _clear_changed_fields(self): def _clear_changed_fields(self):
"""Using get_changed_fields iterate and remove any fields that are """Using _get_changed_fields iterate and remove any fields that
marked as changed""" are marked as changed.
"""
for changed in self._get_changed_fields(): for changed in self._get_changed_fields():
parts = changed.split('.') parts = changed.split('.')
data = self data = self
@ -492,10 +493,13 @@ class BaseDocument(object):
data = data.get(part, None) data = data.get(part, None)
else: else:
data = getattr(data, part, None) data = getattr(data, part, None)
if hasattr(data, '_changed_fields'): if hasattr(data, '_changed_fields'):
if hasattr(data, '_is_document') and data._is_document: if getattr(data, '_is_document', False):
continue continue
data._changed_fields = [] data._changed_fields = []
self._changed_fields = [] self._changed_fields = []
def _nestable_types_changed_fields(self, changed_fields, key, data, inspected): def _nestable_types_changed_fields(self, changed_fields, key, data, inspected):