Merge branch 'master' of http://github.com/danielhasselrot/mongoengine into v0.4
Conflicts: mongoengine/fields.py
This commit is contained in:
commit
f4711699e4
@ -410,11 +410,18 @@ class BaseDocument(object):
|
||||
value = getattr(self, field_name, None)
|
||||
if value is not None:
|
||||
data[field.db_field] = field.to_mongo(value)
|
||||
else:
|
||||
data[field.db_field] = None
|
||||
# Only add _cls and _types if allow_inheritance is not False
|
||||
if not (hasattr(self, '_meta') and
|
||||
self._meta.get('allow_inheritance', True) == False):
|
||||
data['_cls'] = self._class_name
|
||||
data['_types'] = self._superclasses.keys() + [self._class_name]
|
||||
try:
|
||||
if not data['_id']:
|
||||
del data['_id']
|
||||
except KeyError:
|
||||
pass
|
||||
return data
|
||||
|
||||
@classmethod
|
||||
@ -446,7 +453,8 @@ class BaseDocument(object):
|
||||
|
||||
for field_name, field in cls._fields.items():
|
||||
if field.db_field in data:
|
||||
data[field_name] = field.to_python(data[field.db_field])
|
||||
value = data[field.db_field]
|
||||
data[field_name] = value if value is None else field.to_python(value)
|
||||
|
||||
obj = cls(**data)
|
||||
obj._present_fields = present_fields
|
||||
|
Loading…
x
Reference in New Issue
Block a user