| @@ -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) | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user