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