Skip to content

Commit 3350348

Browse files
Merge branch 'feat-retrieving-queried-fields-only' into feat-pagination-performance
2 parents ab2ed59 + 89bc945 commit 3350348

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

graphene_mongo/fields.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
import mongoengine
88
from bson import DBRef
99
from graphene import Context
10+
from graphene.types.utils import get_type
1011
from graphene.utils.str_converters import to_snake_case
1112
from graphql import ResolveInfo
1213
from promise import Promise
@@ -188,6 +189,7 @@ def get_reference_field(r, kv):
188189

189190
@property
190191
def fields(self):
192+
self._type = get_type(self._type)
191193
return self._type._meta.fields
192194

193195
def get_queryset(self, model, info, required_fields=list(), skip=None, limit=None, reversed=False, **args):
@@ -239,8 +241,9 @@ def default_resolver(self, _root, info, required_fields=list(), **args):
239241

240242
if _root is not None:
241243
field_name = to_snake_case(info.field_name)
242-
if getattr(_root, field_name, []) is not None:
243-
args["pk__in"] = [r.id for r in getattr(_root, field_name, [])]
244+
if field_name in _root._fields_ordered:
245+
if getattr(_root, field_name, []) is not None:
246+
args["pk__in"] = [r.id for r in getattr(_root, field_name, [])]
244247

245248
_id = args.pop('id', None)
246249

0 commit comments

Comments
 (0)