将嵌套查询从 GraphQL 转换为 Graphene 不起作用

Posted

技术标签:

【中文标题】将嵌套查询从 GraphQL 转换为 Graphene 不起作用【英文标题】:Translating nested query from GraphQL to Graphene not working 【发布时间】:2021-06-25 02:26:24 【问题描述】:

所以我有一个 GraphQL API,我写了一个查询,它可以工作并用 GraphiQL 向我发回数据。

query dishes 
  dishes 
    name
    recipeNote
    description
  

这是我对我所拥有的东西的石墨烯翻译

class Dish(ObjectType):
    name = String()
    recipeNote = String()
    description = String()
class Query(ObjectType):
    first = Field(Dish)

    def resolve_first(parent, info):
        return parent
query_string = " first  dishes  name recipeNote description   "

result = schema.execute(
        query_string)
print(result)
print(result.data)

但是这给了我一个错误'errors': ['message': 'Cannot query field "dishes" on type "Dish".', 'locations': ['line': 1, 'column': 11]]

【问题讨论】:

您的石墨烯翻译以及查询不正确。我假设您正在尝试取所有盘子。检查我的答案。 【参考方案1】:
from graphene import List, ObjectType, String

class Dish(ObjectType):
    name = String()
    recipeNote = String()
    description = String()


class Query(ObjectType):
    dishes = List(Dish)

    def resolve_dishes(parent, info):
        return [Dish(name='', recipeNote='', description=''), ...]

query_string = "query dishes 
  dishes 
    name
    recipeNote
    description
  
"

result = schema.execute(
        query_string)
print(result)
print(result.data)

【讨论】:

以上是关于将嵌套查询从 GraphQL 转换为 Graphene 不起作用的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Graphql 查询转换为 python 字典?

嵌套查询到未知级别 GraphQL [重复]

如何将数据的 JSON 格式转换为 GraphQL 查询格式

有没有办法将 GraphQL 查询字段分组到子/嵌套查询组中?

将嵌套查询转换为 sql 视图

无法从 Github 的 GraphQL 渲染嵌套道具