Skip to content

Commit 63b4f93

Browse files
Arun S KumarArun S Kumar
authored andcommitted
Support GenericEmbeddedDocumentField and ListField(GenericEmbeddedDocumentField)
1 parent c0eb7bf commit 63b4f93

File tree

1 file changed

+7
-2
lines changed

1 file changed

+7
-2
lines changed

graphene_mongo/converter.py

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,11 +122,16 @@ def convert_field_to_list(field, registry=None):
122122

123123

124124
@convert_mongoengine_field.register(mongoengine.GenericReferenceField)
125+
@convert_mongoengine_field.register(mongoengine.GenericEmbeddedDocumentField)
125126
def convert_field_to_union(field, registry=None):
126127
_types = []
127128
for choice in field.choices:
128-
_field = mongoengine.ReferenceField(get_document(choice))
129-
_field = convert_mongoengine_field(_field, registry)
129+
try:
130+
_field = mongoengine.ReferenceField(get_document(choice))
131+
_field = convert_mongoengine_field(_field, registry)
132+
except Exception:
133+
_field = mongoengine.EmbeddedDocumentField(get_document(choice._class_name))
134+
_field = convert_mongoengine_field(_field, registry)
130135
_type = _field.get_type()
131136
if _type:
132137
_types.append(_type.type)

0 commit comments

Comments
 (0)