Skip to content

Commit 1d14e7e

Browse files
support added for graphene==3.0b7
1 parent 76027ba commit 1d14e7e

File tree

2 files changed

+17
-13
lines changed

2 files changed

+17
-13
lines changed

graphene_mongo/fields.py

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -325,21 +325,21 @@ def default_resolver(self, _root, info, required_fields=list(), **args):
325325
args["pk__in"] = args["pk__in"][skip:]
326326
iterables = self.get_queryset(self.model, info, required_fields, **args)
327327
list_length = len(iterables)
328-
# if isinstance(info, GraphQLResolveInfo):
329-
# if not info.context:
330-
# info.context = Context()
331-
# info.context.queryset = self.get_queryset(self.model, info, required_fields, **args)
328+
if isinstance(info, GraphQLResolveInfo):
329+
if not info.context:
330+
info = info._replace(context=Context())
331+
info.context.queryset = self.get_queryset(self.model, info, required_fields, **args)
332332
elif _root is None or args:
333333
count = self.get_queryset(self.model, info, required_fields, **args).count()
334334
if count != 0:
335335
skip, limit, reverse = find_skip_and_limit(first=first, after=after, last=last, before=before,
336336
count=count)
337337
iterables = self.get_queryset(self.model, info, required_fields, skip, limit, reverse, **args)
338338
list_length = len(iterables)
339-
# if isinstance(info, GraphQLResolveInfo):
340-
# if not info.context:
341-
# info.context = Context()
342-
# info.context.queryset = self.get_queryset(self.model, info, required_fields, **args)
339+
if isinstance(info, GraphQLResolveInfo):
340+
if not info.context:
341+
info = info._replace(context=Context())
342+
info.context.queryset = self.get_queryset(self.model, info, required_fields, **args)
343343

344344
elif _root is not None:
345345
field_name = to_snake_case(info.field_name)
@@ -374,6 +374,9 @@ def default_resolver(self, _root, info, required_fields=list(), **args):
374374
return connection
375375

376376
def chained_resolver(self, resolver, is_partial, root, info, **args):
377+
for key, value in dict(args).items():
378+
if value is None:
379+
del args[key]
377380
required_fields = list()
378381
for field in self.required_fields:
379382
if field in self.model._fields_ordered:
@@ -388,10 +391,11 @@ def chained_resolver(self, resolver, is_partial, root, info, **args):
388391
for arg_name, arg in args.copy().items():
389392
if arg_name not in self.model._fields_ordered + tuple(self.filter_args.keys()):
390393
args_copy.pop(arg_name)
391-
# if isinstance(info, GraphQLResolveInfo):
392-
# if not info.context:
393-
# info.context = Context()
394-
# info.context.queryset = self.get_queryset(self.model, info, required_fields, **args_copy)
394+
if isinstance(info, GraphQLResolveInfo):
395+
if not info.context:
396+
info = info._replace(context=Context())
397+
info.context.queryset = self.get_queryset(self.model, info, required_fields, **args_copy)
398+
395399
# XXX: Filter nested args
396400
resolved = resolver(root, info, **args)
397401
if resolved is not None:

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ coveralls==2.1.2; python_version > '3.5'
33
flake8==3.7.9
44
flake8-per-file-ignores==0.6
55
future==0.18.2
6-
graphene>=2.1.8,<3
6+
graphene==3.0b7
77
iso8601==0.1.13
88
mongoengine==0.19.1; python_version <= '3.5'
99
mongoengine==0.22.1; python_version > '3.5'

0 commit comments

Comments
 (0)