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

graphql - GraphQL + 中继 + 石墨烯

我正在尝试使用 GraphQL + Relay + Grephene。但我有点困惑。我可以使用中继支持这两个查询吗?还是在真正实施时我只会支持第二个?

我是否总是需要将 globalId 转换为数据库主键?

图 QL:

中继:

0 投票
2 回答
3448 浏览

django - Graphene-Django:连接、边和节点的概念

我刚刚开始尝试使用 graphene-django/GraphQL,并且对 graphene-django 引入的中继库感到非常困惑。在运行完食谱示例(使用我自己的模型实现)并运行测试查询后,在 POST 后,查询被转换为带有边缘和节点的奇怪嵌套对象。这些是什么,他们在做什么?

0 投票
1 回答
783 浏览

python - 创建可供注销用户访问的石墨烯突变(Django)

我正在实现一个 Web 应用程序,它使用在 Django 中实现的后端以及用石墨烯 GQL 编写的 API。

我需要提供登录/注销功能。这些应该(理想情况下)实现为突变。

登录突变应该能够在没有身份验证令牌的情况下运行(当然,因为用户尚未登录)。

我不想禁用整个 api 的 csrf 检查(通过csrf_exempt石墨烯视图)。

有没有办法只对一个突变禁用 csrf 检查(在我的情况下是登录)?

0 投票
3 回答
3190 浏览

python - 覆盖石墨烯中的 django 选择输出

我正在graphenegraphene-django我一起工作,我对IntegerField选择有疑问。graphene创建一个Enum,如果值为 1,则输出为“A_1”;如果值为 2,则为“A_2”,依此类推。例子:

我找到了一个转换选择值的函数。

并且assert_valid_name有这个正则表达式:

因此,无论以数字开头,它都会将其转换为“A_...”。

我怎样才能覆盖这个输出?

0 投票
1 回答
1384 浏览

python - 使用 Python Graphene 设置一个值并获取多个值

我想设置一个石墨烯 python API,当提供域名时,它可以让用户查询主机、注册商或两者。此时,我只想能够以任何其他resolve方法访问传入的域名。

似乎我不能self用来存储传入的域名,因为它评估为None.

对以下代码的任何建议将不胜感激......

0 投票
0 回答
671 浏览

django - 使用 Django 选项加载石墨烯模式的断言错误

我对 Django/Graphene 很陌生,基本上在一个新项目中使用它。

我有这门课有选择:

似乎当服务器正在加载我的 Graphene 架构时(我执行 runserver 并将浏览器指向 url),我在以下位置收到断言错误: graphene/types/typemap.py in graphene_reducer, line 73

使用调试器 - 当“类型映射”比较我的 Django 模型(问题)生成的枚举和石墨烯正在使用的枚举(包装/转换)时,我可以判断断言中断。附上调试器断点的快照:

在此处输入图像描述

我不明白为什么表达式的_type.graphene_type == type计算结果为False

我正在使用 Phyton 3.5、Django 1.10.5、石墨烯 1.2.1

0 投票
1 回答
3564 浏览

django-models - 在 graphene/graphene_django 中扩展查询参数

如何向石墨烯中的 GraphQL 查询添加非字段参数?这是一个用例的示例。我希望能够做到:

使用这个 Django 模型:

以及基于它的 GraphQL 对象类型和查询:

它失败了,因为参数不被接受。我错过了什么?

0 投票
1 回答
1685 浏览

facebook - GraphQL、Cassandra 和非规范化策略

像 Cassandra 这样的数据库和像 GraphQL 这样的方案能很好地协同工作吗?

Cassandra 的思想基于优化查询和非规范化数据的思想。这似乎与 GraphQL 意识形态不太吻合,在这种意识形态中,数据似乎可以在查询的每个级别访问。

示例:假设我像这样构建我的 Cassandra 表:

但是对于 GraphQL,它不会完全期望一个非规范化的用户。

所以有几件事:1.)这个 GraphQL 查询最终可能会多次访问我们的 Cassandra 数据库(假设没有缓存)。获取组名和每个用户,我们甚至可以为每个用户点击它。但是假设我们的解决方案通过一个 cassandra 调用创建了多个用户对象。

2.) 我们不能真正构建一个考虑到非规范化和 graphql 的 cassandra 惯用数据库,可以吗?否则,我们应该期望用户的某些属性不会随查询返回给我们。

总结一下这个问题,处理非规范化数据的 graphql 策略是什么?忽略客户认为可以访问的某些属性是否可以接受?例如,客户端尝试访问用户的地址,但我们目前没有,因为我们的数据是非规范化的。或者甚至不应该担心非规范化,而只是让 graphQL 在 db 和 graphql 之间使用缓存机制进行调用。例如,graphql 首先获取组,然后获取组 id 的用户数据。

0 投票
1 回答
305 浏览

django - 循环引用包 - Python/Django

在 GraphQL 实现的过程中,我发现自己做了很多循环引用来保持包的模块化。考虑以下文件夹结构。

公司.py

联系人.py

我一直收到 Django 错误:

这种循环引用可能吗?联系人和公司都需要能够引用单独包中定义的输入对象类。这样,graphql 可以接受带有子元素的输入,并允许嵌套创建以及允许在创建父对象时输入对象。

0 投票
1 回答
2387 浏览

python - Graphene-Django 和模型属性

假设一个类似于这样的 Django 模型:

我在这个项目中使用了 Graphene-Django,并且我成功地创建了一个模式来描述 Profile 类型,并且可以通过 GraphQL 查询正确访问它。但是,我看不到任何方法可以使该属性也可用。

假设我应该从我的 Django 模型中删除所有属性样式的逻辑,而是只使用 GraphQL 和模型中的原始信息,然后在我使用 GraphQL 数据的地方执行该逻辑(例如,在使用它的 React 应用程序)?