如何在石墨烯中使用对象列表作为查询?

时间:2020-08-04 13:57:33

标签: python-3.x graphene-python

我有从第三方api获取的对象列表:

heroes : [
    {
        "id": 1,
        "name": "James"
    },
    {
        "id": 2,
        "name": "Monk"
    }
]

这是我感到很困惑的地方,我可以创建一个字典来加载一个数据,但是如果我有多个对象怎么办?

def get_hero(heroes):
   hero = {}
   hero['hero_id'] = heroes[0]['id']
   hero['hero_name'] = heroes[0]['name']
   return hero

与石墨烯有关:

   class Hero(ObjectType):
       hero_id = Int()
       hero_name = String()

   
   class Query(ObjectType):
       hero_search = Field(Hero, hero_id=String())

       def resolve_hero_search(self, info, **kwargs):
          return get_hero(heroes=kwargs) # this is a just a placeholder cause I think there is no issue here

使用石墨烯查询可以,但是如果仅包含一个数据,但是我不确定是否有多个对象。

1 个答案:

答案 0 :(得分:0)

您需要从输入中获取ID /字符串的列表:

hero_search = Field(Hero, hero_id=graphene.List(graphene.String))