Merge branch 'master' of http://github.com/danielhasselrot/mongoengine into v0.4
Conflicts: mongoengine/fields.py
This commit is contained in:
		| @@ -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 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user