Skip to content

Commit ef22aff

Browse files
author
Jacob Foster
committed
Accept all info for simplicity/futureproofing
1 parent 1230da5 commit ef22aff

File tree

5 files changed

+8
-7
lines changed

5 files changed

+8
-7
lines changed

graphene_django/fields.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ def list_resolver(resolver, root, args, context, info):
2727
qs = maybe_queryset(resolver(root, args, context, info))
2828

2929
if isinstance(qs, QuerySet):
30-
qs = optimize_queryset(qs, info.field_asts[0])
30+
qs = optimize_queryset(qs, info)
3131

3232
return qs
3333

@@ -76,7 +76,7 @@ def resolve_connection(cls, connection, default_manager, args, info, iterable):
7676
if iterable is not default_manager:
7777
default_queryset = maybe_queryset(default_manager)
7878
iterable = cls.merge_querysets(default_queryset, iterable)
79-
iterable = optimize_queryset(iterable, info.field_asts[0])
79+
iterable = optimize_queryset(iterable, info)
8080
_len = iterable.count()
8181
else:
8282
_len = len(iterable)

graphene_django/filter/fields.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ def connection_resolver(cls, resolver, connection, default_manager, max_limit,
7676
data=filter_kwargs,
7777
queryset=default_manager.get_queryset()
7878
).qs
79-
qs = optimize_queryset(qs, info.field_asts[0])
79+
qs = optimize_queryset(qs, info)
8080

8181
return super(DjangoFilterConnectionField, cls).connection_resolver(
8282
resolver,

graphene_django/optimization.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,9 @@ def get_related_fetches_for_model(model, graphql_ast):
8282
return relateds
8383

8484

85-
def optimize_queryset(queryset, graphql_ast):
86-
relateds = get_related_fetches_for_model(queryset.model, graphql_ast)
85+
def optimize_queryset(queryset, graphql_info):
86+
base_ast = graphql_info.field_asts[0]
87+
relateds = get_related_fetches_for_model(queryset.model, base_ast)
8788

8889
for related in relateds:
8990
if related.fetch_type == SELECT:

graphene_django/tests/test_optimization.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ class RootQuery(graphene.ObjectType):
4444

4545
def resolve_article(self, args, context, info):
4646
qs = ArticleModel.objects
47-
qs = optimize_queryset(qs, info.field_asts[0])
47+
qs = optimize_queryset(qs, info)
4848
return qs.get(**args)
4949

5050
def resolve_reporters(self, args, context, info):

graphene_django/types.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ def is_type_of(cls, root, context, info):
121121
@classmethod
122122
def get_node(cls, id, context, info):
123123
query = cls._meta.model._meta.default_manager
124-
query = optimize_queryset(query, info.field_asts[0])
124+
query = optimize_queryset(query, info)
125125
try:
126126
return query.get(pk=id)
127127
except cls._meta.model.DoesNotExist:

0 commit comments

Comments
 (0)