code: def dispatch(self, request, *args, **kwargs):
          
          if not graphql_api_settings.CACHE_ACTIVE:
              return self.super_call(request, *args, **kwargs)
  
          cache = caches["default"]
          operation_ast = self.get_operation_ast(request)
          if operation_ast and operation_ast.operation == "mutation":
              cache.clear()
              return self.super_call(request, *args, **kwargs)
  
          cache_key = "_graplql_{}".format(self.fetch_cache_key(request))
          response = cache.get(cache_key)
  
          if not response:
              response = self.super_call(request, *args, **kwargs)
  
              # cache key and value
              cache.set(cache_key, response, timeout=graphql_api_settings.CACHE_TIMEOUT)
  
          return response
docs: Fetches queried data from graphql and returns cached & hashed key.