【发布时间】:2021-03-14 09:30:29
【问题描述】:
我使用 Python Graphene 创建了一个 ObjectType,但是在返回数据的查询对象中,我不知道解析器应该返回什么。
我的代码如下:
class RunLog(ObjectType):
status = String()
result = String()
log = List(String)
def resolve_status(self, resolve, run_id):
return r.hget("run:%i" % run_id, "status").decode('utf-8')
def resolve_result(self, resolve, run_id):
return r.hget("run:%i" % run_id, "result").decode('utf-8')
def resolve_log(self, resolve, run_id):
log_data = r.lrange("run:%i:log" % run_id, 0, -1)
log_data = [entry.decode('utf-8') for entry in log_data]
return log_data
class Query(ObjectType):
log_by_run_id = Field(RunLog, run_id=Int(required=True))
def resolve_log_by_run_id(root, info, run_id):
return ???
RunLog 对象应该从 redis 数据库中读取并返回相关 run_id 处的数据。
我希望能够执行以下查询以获取与该运行相关的数据:
{
logByRunId(runId: 1) {
status
result
log
}
}
'resolve_log_by_run_id' 应该返回什么? Graphene 文档没有帮助。
【问题讨论】:
标签: python graphql graphene-python