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) |             value = getattr(self, field_name, None) | ||||||
|             if value is not None: |             if value is not None: | ||||||
|                 data[field.db_field] = field.to_mongo(value) |                 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 |         # Only add _cls and _types if allow_inheritance is not False | ||||||
|         if not (hasattr(self, '_meta') and |         if not (hasattr(self, '_meta') and | ||||||
|                 self._meta.get('allow_inheritance', True) == False): |                 self._meta.get('allow_inheritance', True) == False): | ||||||
|             data['_cls'] = self._class_name |             data['_cls'] = self._class_name | ||||||
|             data['_types'] = self._superclasses.keys() + [self._class_name] |             data['_types'] = self._superclasses.keys() + [self._class_name] | ||||||
|  |         try: | ||||||
|  |             if not data['_id']: | ||||||
|  |                 del data['_id'] | ||||||
|  |         except KeyError: | ||||||
|  |             pass | ||||||
|         return data |         return data | ||||||
|      |      | ||||||
|     @classmethod |     @classmethod | ||||||
| @@ -446,7 +453,8 @@ class BaseDocument(object): | |||||||
|  |  | ||||||
|         for field_name, field in cls._fields.items(): |         for field_name, field in cls._fields.items(): | ||||||
|             if field.db_field in data: |             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 = cls(**data) | ||||||
|         obj._present_fields = present_fields |         obj._present_fields = present_fields | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user