graphql-python / graphql-python/flask-graphql
"Decorated type deeper than introspection query" error with nested lists
- Linguagem predominante
- Python
- Estrelas
- 1.3k
- Forks
- 139
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Descrição
We see the following errors when using nested lists:
```
Error: Decorated type deeper than introspection query.
at n (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:23637)
at n (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:23879)
at n (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:23733)
at n (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:23879)
at r (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:24425)
at http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:26609
at http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:11:8480
at Array.reduce (native)
at keyValMap (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:11:8444)
at f (http://cdn.jsdelivr.net/graphiql/0.7.1/graphiql.min.js:15:26484)
```
Here's the example code that can cause this issue. Graphene introspection doesn't report any errors.
```
import graphene, json
class Animal(graphene.Interface):
id = graphene.String()
class Dog(graphene.ObjectType):
class Meta:
interfaces = (Animal, )
breed = graphene.String()
class Cat(graphene.ObjectType):
class Meta:
interfaces = (Animal, )
category = graphene.String()
class Query(graphene.ObjectType):
animals = graphene.NonNull(graphene.List(graphene.NonNull(graphene.List(graphene.NonNull(Animal)))))
def resolve_animals(self, args, context, info):
return[[Dog(id=1, breed='Golden Retriever'),
Dog(id=2, breed='German Shepard')],
[Cat(id=11, category ='Tiger'),
Cat(id=12, category='House Cat')]]
schema = graphene.Schema(query=Query, types=[Dog, Cat, ])
```
Errors disappear if we remove the "required" or NonNull decorators. Any suggestions on how to fix these errors?
Guia de contribuição
Nenhum guia de contribuição indexado para este repositório
Direção de pesquisa
Start with the nested Query.animals schema and its resolve_animals example, then reproduce the failure through GraphiQL 0.7.1 while inspecting the introspection response. Compare the nested NonNull/list case with the versions that remove NonNull; done means the schema introspects and GraphiQL no longer reports the decorated-type error.
Escrita pelo modelo de indexação a partir do texto da issue.
Avaliação
- Stack de tecnologia
- flask, graphql, python
- Domínio
- api, backend
- Tipo de issue
- Bug
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Status de atividade
- Estagnada
- Clareza
- Razoavelmente clara
- Facilidade para iniciantes
- 35/100