Skip to content

Commit 2b8c540

Browse files
Bug fix in get_queryset while filtering generic lazy reference field
1 parent b7ff656 commit 2b8c540

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
@@ -213,8 +213,12 @@ def get_queryset(self, model, info, required_fields=list(), skip=None, limit=Non
213213
hydrated_references[arg_name] = reference_obj
214214
elif arg_name in self.model._fields_ordered and isinstance(getattr(self.model, arg_name),
215215
mongoengine.fields.GenericReferenceField):
216-
reference_obj = get_document(self.registry._registry_string_map[from_global_id(arg)[0]])(
217-
pk=from_global_id(arg)[1])
216+
try:
217+
reference_obj = get_document(self.registry._registry_string_map[from_global_id(arg)[0]])(
218+
pk=from_global_id(arg)[1])
219+
except TypeError:
220+
reference_obj = get_document(arg["_cls"])(
221+
pk=arg["_ref"].id)
218222
hydrated_references[arg_name] = reference_obj
219223
elif arg_name == "id":
220224
hydrated_references["id"] = from_global_id(args.pop("id", None))[1]

0 commit comments

Comments
 (0)