From fb213f6e7432e2b9aca4eb4ce619a9db0c521f28 Mon Sep 17 00:00:00 2001 From: Ivan Pogrebkov Date: Fri, 26 Jan 2018 11:12:02 +0300 Subject: [PATCH] Update document.py --- mongoengine/base/document.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/mongoengine/base/document.py b/mongoengine/base/document.py index 956e9b0e..2115a252 100644 --- a/mongoengine/base/document.py +++ b/mongoengine/base/document.py @@ -147,6 +147,7 @@ class BaseDocument(object): if not hasattr(self, name) and not name.startswith('_'): DynamicField = _import_class('DynamicField') + field = DynamicField(db_field=name,null=True) field = DynamicField(db_field=name) field.name = name self._dynamic_fields[name] = field @@ -337,10 +338,11 @@ class BaseDocument(object): value = field.generate() self._data[field_name] = value - if use_db_field: - data[field.db_field] = value - else: - data[field.name] = value + if (value is not None) or (field.null): + if use_db_field: + data[field.db_field] = value + else: + data[field.name] = value # Only add _cls if allow_inheritance is True if not self._meta.get('allow_inheritance'):