如何 return 石墨烯中的字典列表?
how to return a list of dictionary in graphene?
我是 graphql 的新手,正在处理一些作为字典列表返回的数据集。
代码段:
class Player(ObjectType):
username = String()
role = String()
class Game(ObjectType):
players = List(Player)
我想知道为什么下面的代码不起作用?
class Query(ObjectType):
game_info = Field(Game, username=String(), role=String())
def resolve_game_info(self, info):
results = [{
"username":"Malphite",
"role":"tank"
},
{
"username":"Teemo",
"role":"support"
}]
output = []
for res in results:
output.append(
Player(
username=res['username'],
role=res['role']
)
)
return output
我如何在 graphql 中查询:
query {
game_info(username:"Teemo") {
players {
username
role
}
}
}
喜欢这样的结果:
{
"data": {
"gameInfo": null
}
}
如有任何帮助,我们将不胜感激!
问题似乎出现在 returned 数据的格式中。假设,您的 Game
中有更多字段,而不仅仅是 players
。无法将这些字段包含在您的 return 格式中。
而不是return output
。
尝试:return {'players':output}
我是 graphql 的新手,正在处理一些作为字典列表返回的数据集。
代码段:
class Player(ObjectType):
username = String()
role = String()
class Game(ObjectType):
players = List(Player)
我想知道为什么下面的代码不起作用?
class Query(ObjectType):
game_info = Field(Game, username=String(), role=String())
def resolve_game_info(self, info):
results = [{
"username":"Malphite",
"role":"tank"
},
{
"username":"Teemo",
"role":"support"
}]
output = []
for res in results:
output.append(
Player(
username=res['username'],
role=res['role']
)
)
return output
我如何在 graphql 中查询:
query {
game_info(username:"Teemo") {
players {
username
role
}
}
}
喜欢这样的结果:
{
"data": {
"gameInfo": null
}
}
如有任何帮助,我们将不胜感激!
问题似乎出现在 returned 数据的格式中。假设,您的 Game
中有更多字段,而不仅仅是 players
。无法将这些字段包含在您的 return 格式中。
而不是return output
。
尝试:return {'players':output}