Update document.py

This commit is contained in:
Ivan Pogrebkov 2018-01-26 11:12:02 +03:00 committed by GitHub
parent 22e75c1691
commit fb213f6e74
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -147,6 +147,7 @@ class BaseDocument(object):
if not hasattr(self, name) and not name.startswith('_'): if not hasattr(self, name) and not name.startswith('_'):
DynamicField = _import_class('DynamicField') DynamicField = _import_class('DynamicField')
field = DynamicField(db_field=name,null=True)
field = DynamicField(db_field=name) field = DynamicField(db_field=name)
field.name = name field.name = name
self._dynamic_fields[name] = field self._dynamic_fields[name] = field
@ -337,10 +338,11 @@ class BaseDocument(object):
value = field.generate() value = field.generate()
self._data[field_name] = value self._data[field_name] = value
if use_db_field: if (value is not None) or (field.null):
data[field.db_field] = value if use_db_field:
else: data[field.db_field] = value
data[field.name] = value else:
data[field.name] = value
# Only add _cls if allow_inheritance is True # Only add _cls if allow_inheritance is True
if not self._meta.get('allow_inheritance'): if not self._meta.get('allow_inheritance'):