commit
534acf8df2
@ -147,7 +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)
|
field = DynamicField(db_field=name, null=True)
|
||||||
field.name = name
|
field.name = name
|
||||||
self._dynamic_fields[name] = field
|
self._dynamic_fields[name] = field
|
||||||
self._fields_ordered += (name,)
|
self._fields_ordered += (name,)
|
||||||
@ -337,7 +337,7 @@ class BaseDocument(object):
|
|||||||
value = field.generate()
|
value = field.generate()
|
||||||
self._data[field_name] = value
|
self._data[field_name] = value
|
||||||
|
|
||||||
if value is not None:
|
if (value is not None) or (field.null):
|
||||||
if use_db_field:
|
if use_db_field:
|
||||||
data[field.db_field] = value
|
data[field.db_field] = value
|
||||||
else:
|
else:
|
||||||
|
@ -1013,6 +1013,7 @@ class DynamicDocument(Document):
|
|||||||
field_name = args[0]
|
field_name = args[0]
|
||||||
if field_name in self._dynamic_fields:
|
if field_name in self._dynamic_fields:
|
||||||
setattr(self, field_name, None)
|
setattr(self, field_name, None)
|
||||||
|
self._dynamic_fields[field_name].null = False
|
||||||
else:
|
else:
|
||||||
super(DynamicDocument, self).__delattr__(*args, **kwargs)
|
super(DynamicDocument, self).__delattr__(*args, **kwargs)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user