From 3648b66978941b7144a8a547ddb7df1c83168e41 Mon Sep 17 00:00:00 2001
From: Thiago Bellini Ribeiro <thiago@bellini.dev>
Date: Tue, 28 Feb 2023 17:56:31 -0300
Subject: [PATCH] feat: only optimize by name if the field has no type hints

---
 graphene_django_optimizer/query.py | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/graphene_django_optimizer/query.py b/graphene_django_optimizer/query.py
index 1a33ca8..edff592 100644
--- a/graphene_django_optimizer/query.py
+++ b/graphene_django_optimizer/query.py
@@ -176,12 +176,13 @@ class QueryOptimizer(object):
         return store
 
     def _optimize_field(self, store, name, model, selection, field_def, parent_type):
-        optimized_by_name = self._optimize_field_by_name(
-            store, name, model, selection, field_def
-        )
-        optimized_by_hints = self._optimize_field_by_hints(
-            store, selection, field_def, parent_type
-        )
+        optimized_by_hints = self._optimize_field_by_hints(store, selection, field_def, parent_type)
+        if not optimized_by_hints:
+            optimized_by_name = self._optimize_field_by_name(
+                store, name, model, selection, field_def,
+            )
+        else:
+            optimized_by_name = False
         optimized = optimized_by_name or optimized_by_hints
         if not optimized:
             store.abort_only_optimization()
-- 
GitLab