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