问题标签 [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 回答
935 浏览

django-models - 如何使用 Django 嵌套对象添加 GraphQL 突变?

在我的项目中,我有一个名为的对象Workflows,它与另一个名为DataSources. 我非常接近能够使用 GraphQL Mutation 创建新工作流。这是相关的代码:

似乎失败的是提取我希望与我正在创建的新工作流相关联的数据源。我收到一条错误消息,上面写着“不可散列的类型:'dict'”

我不确切知道此错误消息暗示我做了什么。

任何想法将不胜感激!

罗伯特

0 投票
0 回答
894 浏览

python - 按 django-graphene 中的对象字段过滤

我正在使用django-graphene.
我尝试按我的模型字段进行过滤。

楷模:

类型:

从这个模型和类型中,我可以按字段过滤(使用算术运算gtlt......)。
我想按一个对象(石墨烯领域也许?)过滤,所以而不是:

我想执行这个:

最后我想实现外键的嵌套过滤器,例如:

我怎样才能做到这一点?

0 投票
1 回答
2467 浏览

django - 测试石墨烯-Django

目前我正在研究使用石墨烯来构建我的 Web 服务器 API。我使用 Django-Rest-Framework 已经有一段时间了,想尝试一些不同的东西。

我已经想出了如何将它与我现有的项目连接起来,我可以通过输入类似的东西来测试来自 Graphiql UI 的查询

现在,我想让单元/集成测试涵盖新的 API。问题就从这里开始了。

我检查石墨烯测试查询/执行的所有文档/帖子都在做类似的事情

我的观点是 execute() 中的查询只是一大块文本,我不知道将来如何维护它。我或将来的其他开发人员必须阅读该文本,弄清楚其含义并在需要时对其进行更新。

这应该是这样的吗?你们如何为石墨烯编写单元测试?

0 投票
1 回答
780 浏览

pagination - Apollo 客户端中基于偏移量的分页错误

由于分页的处理方式,最近决定将我的 Relay Client 转换为 Apollo。我正在开发的应用程序需要基于偏移的分页,这在 Apollo 中得到了更好的支持。

在尝试根据 Apollo 文档http://dev.apollodata.com/react/pagination.html#numbered-pages实现偏移分页时,但继续收到我的查看器未定义的错误。

在此处输入图像描述

当我在渲染期间从 props 访问数据时引用此错误,并且仅在我尝试实现 fetchMore 函数时发生。我感觉这与我的设置有关,因为我viewer在 GraphQL 查询中使用了入口点,但尽管尝试修改设置,但错误仍然存​​在。

编辑 1:到目前为止,此错误似乎与生命周期问题有关。进行一些调试时,我注意到当执行简单查询时存在先前数据时,这种分页方法导致初始道具加载而查看器中没有任何数据。

希望使用其中一种 React 生命周期方法来跟踪此更改,以查看我是否可以将数据分配给变量。但是,仍然不确定此方法是否设置正确。在我确定之前需要获取数据然后尝试分页。

编辑 2:能够使用 componentWillUpdate 来获得对正在传播的数据的细粒度控制。这样这一步就解决了。现在只需要研究实际的分页机制。

0 投票
1 回答
1505 浏览

django - 如何使用 graphene_django 发布数据?

我对 GraphQL 和石墨烯完全陌生,我刚刚完成了graphene_django 教程

我了解如何从服务器获取数据,这很容易,但我不知道如何创建或更新

我需要使用 django rest 框架进行 POST 还是可以只使用石墨烯来获取和放置数据?

0 投票
1 回答
773 浏览

angular - 如何将 Angular/Apollo 客户端与 graphene-django 集成?

对不起菜鸟问题。我是 Web 开发新手,完全没有使用 GraphQL、Relay 或 Apollo 的经验。我刚刚完成了一个使用 Angular 4 前端和 Django Rest Framework 作为后端的 Web 应用程序。该应用程序运行良好,但某些组件具有复杂的数据关系和深度数据嵌套,需要多次服务器访问才能组装一个完整的对象。此外,即使我只需要名称和 ID 来填充查找列表,我也无法对具有多个字段的大量对象实施选择性字段查询。所以,我实现了一个并行的 graphene-django api,我已经用 GraphiQL 和 Postman 成功地测试了它。根据 Graphene 文档,过滤等附加功能是使用 Relay 实现的。我的问题是如何使 Angular 与 Graphene 通信,因为 Angular 与 Relay 和 Apollo Client with Graphene 不兼容。我在网上搜索但只遇到这些(angular2-relaygraphql-python-subscriptions)解决方案,这些解决方案要么是实验性的,要么是正在进行中的。我在这里遗漏了什么还是死路一条?提前致谢。

0 投票
3 回答
2317 浏览

graphql - 如何在 Relay 中捕获 GraphQL 错误消息?

在我的服务器上,我的 GraphQL 实现使用了 Flask、Graphene 和 SQLAlchemy。理想情况下,我希望能够简单地操作标头并返回 401 错误响应,但 GraphQL 将所有内容都返回为 200。

使用 flask.abort(401) 但是我至少能够获得这个响应:

我认为这是一种妥协,我现在可以使用。然而; 因为没有什么可以这么简单...我不确定如何获取此错误消息。我已经读过它QueryRenderer本身可能存在一个问题,它吞下了这些 GraphQL 错误,但我可以设法Network在...中的对象中拦截它们Environment,基本上看起来像这样。

我真的不觉得在我的环境的网络层处理这个错误是管理这个错误的正确方法。QueryRenderer 似乎是最有意义的......我基本上将它设置为单一的事实来源。

顺便说一句,如果这不是很明显,我正在使用 Relay Modern。因此,任何基于 Relay Classic 的解决方案都可能不适用。

编辑:除了错误消息,我这样做的动机是正确处理 JWT 令牌。我认为我正在寻找的解决方案与处理这些错误响应无关,而是扩展了我对 JWT 的理解。

我没有意识到我的客户可以很容易地使用一个包来解码jwt-decodeJWT JWT 上剩余的时间以及是否需要刷新。

0 投票
3 回答
1594 浏览

django - graphene-django 将 models.BigInteger() 转换为 graphene.Integer()

我正在使用石墨烯-django。

我正在尝试从models.BigInteger()字段中检索数据,但是当我在 graphiQL 中进行查询时出现错误

任何人都知道我可以如何强制石墨烯给我数据?

0 投票
2 回答
1845 浏览

python - 如何在 Graphene Python 突变中设置 cookie?

Graphene Pythonschema.py中,当无法访问要设置 cookie 的对象时,应该如何设置HttpResponsecookie?

我当前的实现是通过覆盖 GraphQLView 的 dispatch 方法来设置 cookie data.operationName。这涉及对我需要设置 cookie 的操作名称/突变进行硬编码。

在views.py中:

有没有一种更简洁的方法来为特定的 Graphene Python 突变设置 cookie?

0 投票
2 回答
2011 浏览

python - 没有 Django 模型的石墨烯 Django?

我已经成功使用 Graphene-Django 成功构建了几个 GraphQL 调用。在所有这些情况下,我全部或部分填充了 Django 模型,然后返回了我填充的记录。

现在我有一种情况,我想返回一些我不想存储在 Django 模型中的数据。这可能与石墨烯有关吗?

罗伯特