Fixed Datastructures so instances are a Document or EmbeddedDocument (#363)

This commit is contained in:
Ross Lawley
2013-06-06 17:58:10 +00:00
parent 8aae4f0ed0
commit a7631223a3
2 changed files with 11 additions and 2 deletions

View File

@@ -13,7 +13,11 @@ class BaseDict(dict):
_name = None
def __init__(self, dict_items, instance, name):
self._instance = weakref.proxy(instance)
Document = _import_class('Document')
EmbeddedDocument = _import_class('EmbeddedDocument')
if isinstance(instance, (Document, EmbeddedDocument)):
self._instance = weakref.proxy(instance)
self._name = name
return super(BaseDict, self).__init__(dict_items)
@@ -80,7 +84,11 @@ class BaseList(list):
_name = None
def __init__(self, list_items, instance, name):
self._instance = weakref.proxy(instance)
Document = _import_class('Document')
EmbeddedDocument = _import_class('EmbeddedDocument')
if isinstance(instance, (Document, EmbeddedDocument)):
self._instance = weakref.proxy(instance)
self._name = name
return super(BaseList, self).__init__(list_items)