python - 从嵌套类访问父 graphene.ObjectType 的数据
问题描述
如 this question中所述,可以在python中的石墨烯中进行嵌套查询。有没有办法访问父查询的数据?
参考同一个问题
query {
person (id: "Mary") {
id
name
}
}
嵌套查询:
query {
people {
group
allPersons {
name
}
}
}
我将如何group
从people
解析器中访问allPersons
.
解决方案
石墨烯文档并没有说明这一点。
正如问题中提到的页面,根查询如下:
class YourQuery(object):
# person = ...
people = graphene.Field(AllPeopleType)
def resolve_people(self, info):
return AllPeopleType()
Person
访问触发的父级的变量resolve_all_persons
,即AllPersons
class AllPeopleType(graphene.ObjectType):
group = graphene.Int()
all_persons = graphene.List(Person)
def resolve_all_persons(self, info, **kwargs):
# This allows us to access group of AllPersons
personGroup = self['group']
return Person.objects.all()
但是,如果解析器all_persons
定义为
all_persons = graphene.List(Person, resolver = yourResolverFunctionHere)
这是因为解析器Person
(以及其中的任何内容AllPersons
)必须是AllPersons
解析其自己的变量的 Parent 类的成员。
推荐阅读
- python - 使用python将列表中的字典转换为JSON格式
- android - Android 11 媒体恢复发出第二次通知
- java - Java 8 Stream vs For 循环 - 修改列表中的对象,使用另一个列表中对象的属性
- flutter - Flutter 应用程序导航问题
- python-3.x - 为 python 3.6 安装软件包时 Pipenv 失败
- laravel - 如何在 Laravel Passport 中设置强密码
- python - 使用 Django Rest Framework 自动引用嵌套
- html - C++ If ("Char" == "value") { 做
- android - android - 设置关闭颜色
- json - 使用jq根据key值合并两个json值