use*_*244 2 python graphene-python
我已经成功创建了一个响应于的全石墨烯查询
query {
person (id: "Mary") {
id
name
}
}
Run Code Online (Sandbox Code Playgroud)
我现在想扩展它,以便能够遍历所有人并为每个人返回相似的数据。
query {
people {
count
allPersons {
name
}
}
}
Run Code Online (Sandbox Code Playgroud)
如何让resolve_allPersons
在解析器people
调用person
每个人解析器?
您描述的第二个查询可以使用自定义类型完成,例如:
class AllPeopleType(graphene.ObjectType):
count = graphene.Int()
all_persons = graphene.List(YourPersonType)
def resolve_count(self, info, **kwargs):
# assumed that django used on backend
return Person.objects.count()
def resolve_all_persons(self, info, **kwargs):
return Person.objects.all()
Run Code Online (Sandbox Code Playgroud)
并查询:
class YourQuery(object):
# person = ...
people = graphene.Field(AllPeopleType)
def resolve_people(self, info):
return AllPeopleType()
Run Code Online (Sandbox Code Playgroud)