无需模型绑定的 Graphene/GraphQL 查询

AlG*_*gio 4 python django graphql

我想从客户端传递 JSON,在服务器端处理该 JSON,然后根据 JSON 内容响应客户端。

我知道,在通常情况下,使用 Python/Django 我需要使用 Graphene/GraphQL,其中我需要用模型来描述 DjangoObjectType 后代,绑定在后代的 Meta 类中。然后我应该将这个类包含到查询类中,作为类字段。

这就是模型通过石墨烯进行数据通信的方式。

由于我的查询不需要任何模型绑定,如何解决我的任务?

AlG*_*gio 6

我终于找到了解决方案:

例如,正如问题中所述,您需要将一些 json 传递到服务器。

在 Python 后端,您需要定义以下 Query 类:

class Query(graphene.ObjectType):

    searcher = graphene.JSONString(name=graphene.JSONString(default_value='{"first": 100}'))

    def resolve_searcher(self, type, passed_json):
        some_result = do_some_with_json(passed_json)
        return some_result
Run Code Online (Sandbox Code Playgroud)

在 GraphQL 客户端,您需要定义以下查询语句:

query {
    searcher(name: "{\"first\": 1000}")
}
Run Code Online (Sandbox Code Playgroud)