Conflicts:
	mongoengine/fields.py
This commit is contained in:
Harry Marr 2010-08-30 13:03:23 +01:00
commit f4711699e4

View File

@ -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