@@ -325,21 +325,21 @@ def default_resolver(self, _root, info, required_fields=list(), **args):
325
325
args ["pk__in" ] = args ["pk__in" ][skip :]
326
326
iterables = self .get_queryset (self .model , info , required_fields , ** args )
327
327
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 )
332
332
elif _root is None or args :
333
333
count = self .get_queryset (self .model , info , required_fields , ** args ).count ()
334
334
if count != 0 :
335
335
skip , limit , reverse = find_skip_and_limit (first = first , after = after , last = last , before = before ,
336
336
count = count )
337
337
iterables = self .get_queryset (self .model , info , required_fields , skip , limit , reverse , ** args )
338
338
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 )
343
343
344
344
elif _root is not None :
345
345
field_name = to_snake_case (info .field_name )
@@ -374,6 +374,9 @@ def default_resolver(self, _root, info, required_fields=list(), **args):
374
374
return connection
375
375
376
376
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 ]
377
380
required_fields = list ()
378
381
for field in self .required_fields :
379
382
if field in self .model ._fields_ordered :
@@ -388,10 +391,11 @@ def chained_resolver(self, resolver, is_partial, root, info, **args):
388
391
for arg_name , arg in args .copy ().items ():
389
392
if arg_name not in self .model ._fields_ordered + tuple (self .filter_args .keys ()):
390
393
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
+
395
399
# XXX: Filter nested args
396
400
resolved = resolver (root , info , ** args )
397
401
if resolved is not None :
0 commit comments