@@ -241,7 +241,6 @@ def get_queryset(self, model, info, required_fields=list(), skip=None, limit=Non
241
241
args .update (queryset_or_filters )
242
242
if limit is not None :
243
243
if reversed :
244
- order_by = ""
245
244
if self .order_by :
246
245
order_by = self .order_by + ",-pk"
247
246
else :
@@ -253,7 +252,6 @@ def get_queryset(self, model, info, required_fields=list(), skip=None, limit=Non
253
252
skip if skip else 0 ).limit (limit )
254
253
elif skip is not None :
255
254
if reversed :
256
- order_by = ""
257
255
if self .order_by :
258
256
order_by = self .order_by + ",-pk"
259
257
else :
@@ -269,10 +267,13 @@ def default_resolver(self, _root, info, required_fields=list(), **args):
269
267
args = args or {}
270
268
if _root is not None :
271
269
field_name = to_snake_case (info .field_name )
272
- if field_name in _root ._fields_ordered and not (isinstance (_root ._fields [field_name ].field ,
273
- mongoengine .EmbeddedDocumentField ) or
274
- isinstance (_root ._fields [field_name ].field ,
275
- mongoengine .GenericEmbeddedDocumentField )):
270
+ if not hasattr (_root , "_fields_ordered" ):
271
+ if getattr (_root , field_name , []) is not None :
272
+ args ["pk__in" ] = [r .id for r in getattr (_root , field_name , [])]
273
+ elif field_name in _root ._fields_ordered and not (isinstance (_root ._fields [field_name ].field ,
274
+ mongoengine .EmbeddedDocumentField ) or
275
+ isinstance (_root ._fields [field_name ].field ,
276
+ mongoengine .GenericEmbeddedDocumentField )):
276
277
if getattr (_root , field_name , []) is not None :
277
278
args ["pk__in" ] = [r .id for r in getattr (_root , field_name , [])]
278
279
0 commit comments