From da9af374d7b98992dc1dcf568614de104c6bd549 Mon Sep 17 00:00:00 2001 From: Thiago Bellini Ribeiro <thiago@bellini.dev> Date: Tue, 28 Feb 2023 17:31:37 -0300 Subject: [PATCH] fix: fix field name resolving --- graphene_django_optimizer/query.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/graphene_django_optimizer/query.py b/graphene_django_optimizer/query.py index 070089c..1a33ca8 100644 --- a/graphene_django_optimizer/query.py +++ b/graphene_django_optimizer/query.py @@ -167,6 +167,7 @@ class QueryOptimizer(object): if field_model == model: self._optimize_field( store, + name, model, selection, selection_field_def, @@ -174,9 +175,9 @@ class QueryOptimizer(object): ) return store - def _optimize_field(self, store, model, selection, field_def, parent_type): + def _optimize_field(self, store, name, model, selection, field_def, parent_type): optimized_by_name = self._optimize_field_by_name( - store, model, selection, field_def + store, name, model, selection, field_def ) optimized_by_hints = self._optimize_field_by_hints( store, selection, field_def, parent_type @@ -185,8 +186,9 @@ class QueryOptimizer(object): if not optimized: store.abort_only_optimization() - def _optimize_field_by_name(self, store, model, selection, field_def): - name = self._get_name_from_resolver(field_def.resolve) + def _optimize_field_by_name(self, store, name, model, selection, field_def): + resolver_name = self._get_name_from_resolver(field_def.resolve) + name = resolver_name or name if not name: return False model_field = self._get_model_field_from_name(model, name) -- GitLab