mirror of
https://github.com/graphql-python/graphene-django.git
synced 2025-07-13 09:42:32 +03:00
Accept all info for simplicity/futureproofing
This commit is contained in:
parent
1230da5413
commit
ef22aff199
|
@ -27,7 +27,7 @@ class DjangoListField(Field):
|
|||
qs = maybe_queryset(resolver(root, args, context, info))
|
||||
|
||||
if isinstance(qs, QuerySet):
|
||||
qs = optimize_queryset(qs, info.field_asts[0])
|
||||
qs = optimize_queryset(qs, info)
|
||||
|
||||
return qs
|
||||
|
||||
|
@ -76,7 +76,7 @@ class DjangoConnectionField(ConnectionField):
|
|||
if iterable is not default_manager:
|
||||
default_queryset = maybe_queryset(default_manager)
|
||||
iterable = cls.merge_querysets(default_queryset, iterable)
|
||||
iterable = optimize_queryset(iterable, info.field_asts[0])
|
||||
iterable = optimize_queryset(iterable, info)
|
||||
_len = iterable.count()
|
||||
else:
|
||||
_len = len(iterable)
|
||||
|
|
|
@ -76,7 +76,7 @@ class DjangoFilterConnectionField(DjangoConnectionField):
|
|||
data=filter_kwargs,
|
||||
queryset=default_manager.get_queryset()
|
||||
).qs
|
||||
qs = optimize_queryset(qs, info.field_asts[0])
|
||||
qs = optimize_queryset(qs, info)
|
||||
|
||||
return super(DjangoFilterConnectionField, cls).connection_resolver(
|
||||
resolver,
|
||||
|
|
|
@ -82,8 +82,9 @@ def get_related_fetches_for_model(model, graphql_ast):
|
|||
return relateds
|
||||
|
||||
|
||||
def optimize_queryset(queryset, graphql_ast):
|
||||
relateds = get_related_fetches_for_model(queryset.model, graphql_ast)
|
||||
def optimize_queryset(queryset, graphql_info):
|
||||
base_ast = graphql_info.field_asts[0]
|
||||
relateds = get_related_fetches_for_model(queryset.model, base_ast)
|
||||
|
||||
for related in relateds:
|
||||
if related.fetch_type == SELECT:
|
||||
|
|
|
@ -44,7 +44,7 @@ class RootQuery(graphene.ObjectType):
|
|||
|
||||
def resolve_article(self, args, context, info):
|
||||
qs = ArticleModel.objects
|
||||
qs = optimize_queryset(qs, info.field_asts[0])
|
||||
qs = optimize_queryset(qs, info)
|
||||
return qs.get(**args)
|
||||
|
||||
def resolve_reporters(self, args, context, info):
|
||||
|
|
|
@ -121,7 +121,7 @@ class DjangoObjectType(six.with_metaclass(DjangoObjectTypeMeta, ObjectType)):
|
|||
@classmethod
|
||||
def get_node(cls, id, context, info):
|
||||
query = cls._meta.model._meta.default_manager
|
||||
query = optimize_queryset(query, info.field_asts[0])
|
||||
query = optimize_queryset(query, info)
|
||||
try:
|
||||
return query.get(pk=id)
|
||||
except cls._meta.model.DoesNotExist:
|
||||
|
|
Loading…
Reference in New Issue
Block a user