diff --git a/src/graphql/execution/execute.py b/src/graphql/execution/execute.py index 910b54d4..17656e94 100644 --- a/src/graphql/execution/execute.py +++ b/src/graphql/execution/execute.py @@ -205,7 +205,7 @@ def __init__( self.middleware_manager = middleware_manager self.errors = errors self._subfields_cache: Dict[ - Tuple[GraphQLObjectType, Tuple[FieldNode, ...]], Dict[str, List[FieldNode]] + Tuple[GraphQLObjectType, int], Dict[str, List[FieldNode]] ] = {} @classmethod @@ -998,7 +998,7 @@ def collect_subfields( subfields are not repeatedly calculated, which saves overhead when resolving lists of values. """ - cache_key = return_type, tuple(field_nodes) + cache_key = return_type, id(field_nodes) sub_field_nodes = self._subfields_cache.get(cache_key) if sub_field_nodes is None: sub_field_nodes = {}