From 1230da54133611a8e11727c932c98140e610bdd0 Mon Sep 17 00:00:00 2001 From: Jacob Foster Date: Wed, 19 Jul 2017 22:50:29 -0500 Subject: [PATCH] Simplify optimize_querset signature with qs.model --- graphene_django/fields.py | 4 ++-- graphene_django/filter/fields.py | 2 +- graphene_django/optimization.py | 4 ++-- graphene_django/tests/test_optimization.py | 2 +- graphene_django/types.py | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/graphene_django/fields.py b/graphene_django/fields.py index 7855a14..30b3b59 100644 --- a/graphene_django/fields.py +++ b/graphene_django/fields.py @@ -27,7 +27,7 @@ class DjangoListField(Field): qs = maybe_queryset(resolver(root, args, context, info)) if isinstance(qs, QuerySet): - qs = optimize_queryset(qs.model, qs, info.field_asts[0]) + qs = optimize_queryset(qs, info.field_asts[0]) 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(default_manager.model, iterable, info.field_asts[0]) + iterable = optimize_queryset(iterable, info.field_asts[0]) _len = iterable.count() else: _len = len(iterable) diff --git a/graphene_django/filter/fields.py b/graphene_django/filter/fields.py index fb0d9f9..f310b2b 100644 --- a/graphene_django/filter/fields.py +++ b/graphene_django/filter/fields.py @@ -76,7 +76,7 @@ class DjangoFilterConnectionField(DjangoConnectionField): data=filter_kwargs, queryset=default_manager.get_queryset() ).qs - qs = optimize_queryset(default_manager.model, qs, info.field_asts[0]) + qs = optimize_queryset(qs, info.field_asts[0]) return super(DjangoFilterConnectionField, cls).connection_resolver( resolver, diff --git a/graphene_django/optimization.py b/graphene_django/optimization.py index ecbb0e9..c78b1e1 100644 --- a/graphene_django/optimization.py +++ b/graphene_django/optimization.py @@ -82,8 +82,8 @@ def get_related_fetches_for_model(model, graphql_ast): return relateds -def optimize_queryset(model, queryset, graphql_ast): - relateds = get_related_fetches_for_model(model, graphql_ast) +def optimize_queryset(queryset, graphql_ast): + relateds = get_related_fetches_for_model(queryset.model, graphql_ast) for related in relateds: if related.fetch_type == SELECT: diff --git a/graphene_django/tests/test_optimization.py b/graphene_django/tests/test_optimization.py index 8673a91..e64ed8b 100644 --- a/graphene_django/tests/test_optimization.py +++ b/graphene_django/tests/test_optimization.py @@ -44,7 +44,7 @@ class RootQuery(graphene.ObjectType): def resolve_article(self, args, context, info): qs = ArticleModel.objects - qs = optimize_queryset(ArticleModel, qs, info.field_asts[0]) + qs = optimize_queryset(qs, info.field_asts[0]) return qs.get(**args) def resolve_reporters(self, args, context, info): diff --git a/graphene_django/types.py b/graphene_django/types.py index 1d9b2a6..1e1ccd0 100644 --- a/graphene_django/types.py +++ b/graphene_django/types.py @@ -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(cls._meta.model, query, info.field_asts[0]) + query = optimize_queryset(query, info.field_asts[0]) try: return query.get(pk=id) except cls._meta.model.DoesNotExist: