Skip to content

Commit 9d7e48d

Browse files
author
Jan Schrewe
committed
Figure out a decent ‘queryset’ in EmbeddedDocumentFormSet.__init__ for
a single EmbeddedDocumentField
1 parent 397cd92 commit 9d7e48d

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

mongodbforms/documents.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -666,7 +666,6 @@ class BaseDocumentFormSet(BaseFormSet):
666666

667667
def __init__(self, data=None, files=None, auto_id='id_%s', prefix=None,
668668
queryset=[], **kwargs):
669-
670669
if not isinstance(queryset, (list, BaseQuerySet)):
671670
queryset = [queryset]
672671
self.queryset = queryset
@@ -842,6 +841,7 @@ class EmbeddedDocumentFormSet(BaseDocumentFormSet):
842841

843842
def __init__(self, data=None, files=None, save_as_new=False,
844843
prefix=None, queryset=[], parent_document=None, **kwargs):
844+
845845
if parent_document is not None:
846846
self.parent_document = parent_document
847847

@@ -850,8 +850,11 @@ def __init__(self, data=None, files=None, save_as_new=False,
850850
if parent_document is None:
851851
self.parent_document = instance
852852

853-
queryset = getattr(self.parent_document,
854-
self.form._meta.embedded_field)
853+
queryset = getattr(self.parent_document, self.form._meta.embedded_field)
854+
if not isinstance(queryset, list) and queryset is None:
855+
queryset = []
856+
elif not isinstance(queryset, list):
857+
queryset = [queryset, ]
855858

856859
super(EmbeddedDocumentFormSet, self).__init__(data, files, save_as_new,
857860
prefix, queryset,
@@ -968,8 +971,7 @@ def embeddedformset_factory(document, parent_document,
968971
You must provide ``fk_name`` if ``model`` has more than one ``ForeignKey``
969972
to ``parent_model``.
970973
"""
971-
emb_field = _get_embedded_field(
972-
parent_document, document, emb_name=embedded_name)
974+
emb_field = _get_embedded_field(parent_document, document, emb_name=embedded_name)
973975
if isinstance(emb_field, EmbeddedDocumentField):
974976
max_num = 1
975977
kwargs = {

0 commit comments

Comments
 (0)