我使用 django 和 django graphene 来制作 graphql API。
在我的应用程序视图中,我使用 reactJS 和react-bootstrap-table。React-bootstrap-table 期望我将对象数组传递给它,但不支持嵌套对象。
我在我的schema.py中创建了查询:
class ApplicationNode(DjangoObjectType):
class Meta:
model = Application
filter_fields = ['name', 'sonarQube_URL']
interfaces = (relay.Node,)
class Query(ObjectType):
application = relay.Node.Field(ApplicationNode)
all_applications = DjangoFilterConnectionField(ApplicationNode)
这些查询的答案是 JSON 嵌套对象,如下所示:
{
"data": {
"allApplications": {
"edges": [
{
"node": {
"id": "QXBwbGljYXRpb25Ob2RlOjE=",
"name": "foo",
"sonarQubeUrl": "foo.com",
"flow":{
"id": "QYBwbGljYXRpb45Ob2RlOjE=",
"name": "flow_foo"
}
}
},
{
"node": {
"id": "QXBwbGljYXRpb25Ob2RlOjI=",
"name": "bar",
"sonarQubeUrl": "bar.com"
"flow":{
"id": "QXBwbGljYXRpb26Ob2RlOjA=",
"name": "flow_bar"
}
}
}
]
}
}
}
在将它们交给 React-bootstrap-table 之前,我必须将它们放平。
有什么更好的方法,拦截 graphene-django 查询的结果以将它们平放或在 ReactJS 视图中完成这项工作?
如果第一种方法更好,如何截取graphene-django查询的结果以将它们放平?