Fixed upgrade docs and instructions
This commit is contained in:
		| @@ -478,13 +478,18 @@ class DocumentMetaclass(type): | ||||
|             attrs.update(dict([(k, v) for k, v in base.__dict__.items() | ||||
|                                if issubclass(v.__class__, BaseField)])) | ||||
|  | ||||
|             # Handle simple mixin's with meta | ||||
|             if hasattr(base, 'meta') and not isinstance(base, DocumentMetaclass): | ||||
|                 meta = attrs.get('meta', {}) | ||||
|                 meta.update(base.meta) | ||||
|                 attrs['meta'] = meta | ||||
|  | ||||
|             for p_base in base.__bases__: | ||||
|                 #optimize :-) | ||||
|                 if p_base in (object, BaseDocument): | ||||
|                     continue | ||||
|  | ||||
|                 attrs.update(_get_mixin_fields(p_base)) | ||||
|  | ||||
|             return attrs | ||||
|  | ||||
|         metaclass = attrs.get('__metaclass__') | ||||
| @@ -498,6 +503,7 @@ class DocumentMetaclass(type): | ||||
|         simple_class = True | ||||
|  | ||||
|         for base in bases: | ||||
|  | ||||
|             # Include all fields present in superclasses | ||||
|             if hasattr(base, '_fields'): | ||||
|                 doc_fields.update(base._fields) | ||||
| @@ -526,7 +532,8 @@ class DocumentMetaclass(type): | ||||
|                     simple_class = False | ||||
|  | ||||
|         doc_class_name = '.'.join(reversed(class_name)) | ||||
|         meta = attrs.get('_meta', attrs.get('meta', {})) | ||||
|         meta = attrs.get('_meta', {}) | ||||
|         meta.update(attrs.get('meta', {})) | ||||
|  | ||||
|         if 'allow_inheritance' not in meta: | ||||
|             meta['allow_inheritance'] = True | ||||
|   | ||||
		Reference in New Issue
	
	Block a user