问题标签 [graphene-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
540 浏览

django - 石墨烯 Django 和 react-router-relay

我很难弄清楚 Graphene Django 应该与 react-router-relay 一起使用的方式。假设我可以通过 Django 服务器上的 GraphiQL 控制台使用以下 GraphQL 查询:

这可能是 Graphene 对常用viewer包装器的替代品,因为 Relay 不支持根查询上的连接。所以我知道 allThreads 实际上是一个节点(类型为 ThreadNodeConnection),并且有一个可以查询的边连接。

问题是我不知道如何将它与 Relay 一起使用,特别是 react-router-relay。我有一个 React 视图,上面有这样的片段(在其他地方有一个子 Thread 组件):

Webpack 会根据我的实时模式检查它并喜欢它。然后我在我的 index.js 中为路由器创建以下内容:

我已经有点不确定了,因为我认为我做错了 ViewerQueries,但很难知道,因为其他人都使用它来容纳他们viewer的 GraphQL 连接上的包装器,但是 Graphene 在每个连接上都有不同的包装器,所以这可能只适用于我的单一路线,但现在没关系。Webpack 再次喜欢它反对模式。但是当我加载页面时,我收到一个“错误请求”和以下错误:

“F1 片段不能在这里传播,因为 ThreadNodeConnection 类型的对象永远不能是 Query 类型”

老实说,这就是我无法继续进行的地方,因为我显然不了解 Graphene Django 如何构建模式,或者应该如何编写 GraphQL 片段,或者应该如何编写 Route 查询。麻烦的是我无法弄清楚这些事情中哪一个是错误的,而且似乎没有任何资源可以围绕使用这些特定技术组合的人们。

为了完整起见,我的 Graphene Django 架构设置是(略微简化):

项目/线程/schema.py:

项目/schema.py:

如果有人以前使用过这种特殊的组合并有任何建议,那就太棒了。

0 投票
1 回答
1577 浏览

python - 石墨烯突变未映射 SQL Alchemy 中的模型

我正在尝试对使用 SQL ALCHEMY 声明的用户模型执行突变。这是我的 models.py 文件的代码

这是 Schema.py 文件

当我尝试执行以下突变时,这是我得到的错误:

0 投票
0 回答
989 浏览

python - 嵌套对象的突变

我正在尝试为“复杂”对象实现 GrapgQL 突变。假设我们有一个Contact包含三个字段的 a :和firstName,它是一个包含一个字段的对象:lastNameaddressstreet

这是我的python方案实现:

当我运行这个查询时:

具有以下变量:

我得到以下结果:

如您所见,street字段null在结果中。

mutate如果我改变方法,我可以得到我需要的东西:

但我不确定这是正确的方法。

所以请建议一个正确的方法来启动嵌套结构。

0 投票
4 回答
3936 浏览

graphql - 突变 - 批量创建对象

我想用石墨烯一口气创造很多人。该文件只提到了这样创建一个人的方法:

有什么办法可以完成吗?

0 投票
1 回答
718 浏览

django - GraphiQL 在本地工作,但在生产中,输出显示来自 base.html(Django 项目)的内容

我成功地将 graphene 和 graphene-django 安装到我的项目中,并且能够在我的本地环境中使用 GraphiQL 界面进行查询。

当我将我的应用程序部署到生产环境并访问 GraphQL 端点时,GraphiQL 界面无法正常工作,并在输出部分显示我的 base.html 的内容。“文档”也不会加载任何内容。

在实时应用程序上输出 graphiql

生产配置中一定有一些东西干扰了 GraphQL,但我还不能确定它。

任何想法,将不胜感激!

0 投票
0 回答
1306 浏览

python - 如何在石墨烯中编写嵌套的 GraphQL 突变?

我正在尝试在石墨烯中编写嵌套突变,但在将一个突变的输出传递给另一个时遇到了麻烦。我希望WriteImage解析器能够接受来自ReadImage解析器的输入图像。最终,WriteImage也应该能够接受来自其他解析器的图像,以便用户可以编写管道脚本。

架构如下所示:

这输出

这个错误信息是什么意思?为什么呢not an object?架构应该如何构建,以便我可以使用一个解析器的输出作为另一个解析器的输入?

附加信息:执行ReadImage产生以下输出并允许您查看图像类型:

0 投票
1 回答
497 浏览

heroku - React Native with Apollo 无法连接到 Heroku 中的 Graphql 服务器

我一直在一个项目中工作以测试 Graphql,并且在服务器上运行良好,但是我无法将我的 React Native 应用程序连接到在 Heroku 中使用 Django + Postgress + Graphene 配置的“API”服务器。你可以在这里测试它:https ://hosting-api.herokuapp.com/graphiql

我为 React Native 应用程序选择 Apollo 来管理以下示例的连接:http: //dev.apollodata.com/react/simple-example.html

该应用程序使用默认 URL 可以正常工作:http: //api.githunt.com/graphql但是当我更改为我的服务器时,我在图像中收到错误。403 是禁止的代码,但我已经在 allowed_hosts 和 cors_origin_whitelist 中添加了“*”。此外,当我更改为另一个 URL(例如我的博客)时,它会返回一个 200 错误,这没关系,因为我没有在那里配置 Graphql,但至少该应用程序可以建立连接。

有什么想法或建议吗?

错误信息

0 投票
7 回答
4136 浏览

django - 石墨烯 Django“必须提供查询字符串”

我已经使用 Django 设置了一个石墨烯服务器。当我通过 GraphiQL(网络客户端)运行查询时,一切正常。但是,当我从其他任何地方运行时,我会收到错误消息:“必须提供查询字符串。”

我做了一些故障排除。GraphiQL 将 POST 数据发送到 GraphQL 服务器Content-Type: application/json。这是我从 GraphiQL 的 Chrome 网络选项卡复制的请求正文:

当我将它复制到 Postman 时Content-Type: application/json,我得到以下响应:

这个问题的原因可能是什么?我没有对架构做过任何疯狂的事情。只是按照石墨烯文档中的教程进行操作。还有什么可能导致这样的问题?

0 投票
2 回答
748 浏览

python - Python中的自引用类变量

我正在尝试在 Graphene-Django 中实现类似文件夹的类型。文件夹可以包含文件或文件夹。这样做:

Django模型:

石墨烯API:

失败,因为我不能FolderNode在它自己的类定义中引用。将答案应用于另一个问题

也不起作用,因为 Graphene 在决定添加什么到 API 时只看到作为声明一部分的类变量。有任何想法吗?

0 投票
2 回答
4035 浏览

python - 如何通过教程解决使用石墨烯 django 基本设置的 ImportError?

我已经开始使用 Django 和 GraphQL 进行基本设置的graphene_django 教程

但是,由于导入错误,我无法继续前进:

您可以在最小的 repo 中 查看代码的当前状态。

我认为我的问题与我运行服务器的方式有关:python3 manage.py runserver. 或者也许我是如何导入的。但我不知道如何从这里进行更多的调试。

一切都与教程中所述完全相同,对我来说似乎没有什么特别不正确的。如果这很重要,我也在使用带有 virtualenv 的 Linux。

如果您需要更多信息,请告诉我,我会仔细监控线程。

编辑:道歉!我用 python3 和 python 2.7 运行过它,都没有工作。这是跟踪: