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

@ -5,6 +5,7 @@ Changelog
Changes in 0.8.2
================
- Fixed Datastructures so instances are a Document or EmbeddedDocument (#363)
- Improved cascading saves write performance (#361)
- Fixed amibiguity and differing behaviour regarding field defaults (#349)
- ImageFields now include PIL error messages if invalid error (#353)

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)