首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在石墨烯中返回字典列表?

如何在石墨烯中返回字典列表?
EN

Stack Overflow用户
提问于 2020-08-05 19:49:28
回答 1查看 675关注 0票数 1

我是graphql的新手,正在处理一些作为字典列表返回的数据集。

代码片段:

代码语言:javascript
运行
复制
class Player(ObjectType):
    username = String()
    role = String()

class Game(ObjectType):
    players = List(Player)

我想知道为什么下面的代码不能工作?

代码语言:javascript
运行
复制
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中查询:

代码语言:javascript
运行
复制
query {
  game_info(username:"Teemo") {
    players {
      username
      role
    }
  }
}

结果如下所示:

代码语言:javascript
运行
复制
{
  "data": {
    "gameInfo": null
  }
}

如果有任何帮助,我们将不胜感激!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-05 20:05:25

问题似乎出在返回数据的格式上。假设您的Game中有更多的字段,而不仅仅是players。没有办法在您的返回格式中包含这些字段。

而不是return output

尝试:return {'players':output}

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63264545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档