-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Closed
Description
Use case:
class Requirement(EmbeddedDocument):
meta = {'allow_inheritance': True}
satisfied = BooleanField(default=False)
def test(self):
raise NotImplementedError
requirements = ListField(EmbeddedDocumentField(Requirement))My current patch is as follows:
# in def BaseField#__set__(self, instance, value):
EmbeddedDocument = _import_class('EmbeddedDocument')
if isinstance(value, EmbeddedDocument) and value._instance is None:
value._instance = weakref.proxy(instance)
#####################
## BEGIN MODIFICATION
#####################
if isinstance(value, list):
for item in value:
if isinstance(item, EmbeddedDocument) and item._instance is None:
item._instance = weakref.proxy(instance)
######################
## END MODIFICATION
######################But do not love that I need to inspect every member that could be a list. What do you think?
But if you like this approach -- I can make a proper PR. But open to other approaches.
Thanks for the great library
-- jonathan
Metadata
Metadata
Assignees
Labels
No labels