Skip to content

Commit 43cf686

Browse files
Merge branch 'support-generic-reference-field-in-args'
2 parents bb0afbc + 2b8c540 commit 43cf686

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

graphene_mongo/fields.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -220,8 +220,12 @@ def get_queryset(self, model, info, required_fields=list(), skip=None, limit=Non
220220
hydrated_references[arg_name] = reference_obj
221221
elif arg_name in self.model._fields_ordered and isinstance(getattr(self.model, arg_name),
222222
mongoengine.fields.GenericReferenceField):
223-
reference_obj = get_document(self.registry._registry_string_map[from_global_id(arg)[0]])(
224-
pk=from_global_id(arg)[1])
223+
try:
224+
reference_obj = get_document(self.registry._registry_string_map[from_global_id(arg)[0]])(
225+
pk=from_global_id(arg)[1])
226+
except TypeError:
227+
reference_obj = get_document(arg["_cls"])(
228+
pk=arg["_ref"].id)
225229
hydrated_references[arg_name] = reference_obj
226230
elif '__near' in arg_name and isinstance(getattr(self.model, arg_name.split('__')[0]),
227231
mongoengine.fields.PointField):

0 commit comments

Comments
 (0)