Skip to content

Commit 75ba65e

Browse files
Removed duplicate code & support filter agrs
1 parent 6cb19ec commit 75ba65e

File tree

2 files changed

+4
-4
lines changed

2 files changed

+4
-4
lines changed

graphene_mongo/converter.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -230,7 +230,6 @@ def reference_resolver(root, *args, **kwargs):
230230
document_field = convert_mongoengine_field(document_field, registry)
231231
_type = document_field.get_type().type
232232
querying_types = list(get_query_fields(args[0]).keys())
233-
_type = document_field.get_type().type
234233
if _type.__name__ in querying_types:
235234
queried_fields = list()
236235
for each in get_query_fields(args[0]).keys():

graphene_mongo/fields.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,6 @@ def is_filterable(k):
126126
getattr(converted, "_of_type", None), graphene.Union
127127
):
128128
return False
129-
130129
return True
131130

132131
def get_filter_type(_type):
@@ -186,6 +185,7 @@ def get_reference_field(r, kv):
186185
node.model, (mongoengine.EmbeddedDocument,)
187186
):
188187
r.update({kv[0]: node.fields["id"]._type.of_type()})
188+
189189
return r
190190

191191
return reduce(get_reference_field, self.fields.items(), {})
@@ -321,7 +321,7 @@ def chained_resolver(self, resolver, is_partial, root, info, **args):
321321
mongoengine.base.metaclasses.TopLevelDocumentMetaclass):
322322
args_copy = args.copy()
323323
for arg_name, arg in args.copy().items():
324-
if arg_name not in self.model._fields_ordered:
324+
if arg_name not in self.model._fields_ordered + tuple(self.filter_args.keys()):
325325
args_copy.pop(arg_name)
326326
if isinstance(info, ResolveInfo):
327327
if not info.context:
@@ -339,7 +339,8 @@ def chained_resolver(self, resolver, is_partial, root, info, **args):
339339
args.update(resolved._query)
340340
args_copy = args.copy()
341341
for arg_name, arg in args.copy().items():
342-
if arg_name not in self.model._fields_ordered + ('first', 'last', 'before', 'after'):
342+
if arg_name not in self.model._fields_ordered + (
343+
'first', 'last', 'before', 'after') + tuple(self.filter_args.keys()):
343344
args_copy.pop(arg_name)
344345
return self.default_resolver(root, info, required_fields, **args_copy)
345346
else:

0 commit comments

Comments
 (0)