@@ -530,12 +530,14 @@ def documentform_factory(document, form=DocumentForm, fields=None, exclude=None,
530
530
531
531
532
532
class EmbeddedDocumentForm (with_metaclass (DocumentFormMetaclass , BaseDocumentForm )):
533
-
534
- def __init__ (self , parent_document , instance = None , position = None , * args , ** kwargs ):
533
+
534
+ def __init__ (self , parent_document , data = None , files = None , position = None , * args , ** kwargs ):
535
535
if self ._meta .embedded_field is not None and not \
536
536
self ._meta .embedded_field in parent_document ._fields :
537
537
raise FieldError ("Parent document must have field %s" % self ._meta .embedded_field )
538
538
539
+ instance = kwargs .get ('instance' , None )
540
+
539
541
if isinstance (parent_document ._fields .get (self ._meta .embedded_field ), ListField ):
540
542
# if we received a list position of the instance and no instance
541
543
# load the instance from the parent document and proceed as normal
@@ -549,7 +551,7 @@ def __init__(self, parent_document, instance=None, position=None, *args, **kwarg
549
551
emb_list = getattr (parent_document , self ._meta .embedded_field )
550
552
position = next ((i for i , obj in enumerate (emb_list ) if obj == instance ), None )
551
553
552
- super (EmbeddedDocumentForm , self ).__init__ (instance = instance , * args , ** kwargs )
554
+ super (EmbeddedDocumentForm , self ).__init__ (data = data , files = files , instance = instance , * args , ** kwargs )
553
555
self .parent_document = parent_document
554
556
self .position = position
555
557
0 commit comments