问题标签 [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.
graphql - GraphQL + 中继 + 石墨烯
我正在尝试使用 GraphQL + Relay + Grephene。但我有点困惑。我可以使用中继支持这两个查询吗?还是在真正实施时我只会支持第二个?
我是否总是需要将 globalId 转换为数据库主键?
图 QL:
中继:
django - Graphene-Django:连接、边和节点的概念
我刚刚开始尝试使用 graphene-django/GraphQL,并且对 graphene-django 引入的中继库感到非常困惑。在运行完食谱示例(使用我自己的模型实现)并运行测试查询后,在 POST 后,查询被转换为带有边缘和节点的奇怪嵌套对象。这些是什么,他们在做什么?
python - 创建可供注销用户访问的石墨烯突变(Django)
我正在实现一个 Web 应用程序,它使用在 Django 中实现的后端以及用石墨烯 GQL 编写的 API。
我需要提供登录/注销功能。这些应该(理想情况下)实现为突变。
登录突变应该能够在没有身份验证令牌的情况下运行(当然,因为用户尚未登录)。
我不想禁用整个 api 的 csrf 检查(通过csrf_exempt
石墨烯视图)。
有没有办法只对一个突变禁用 csrf 检查(在我的情况下是登录)?
python - 覆盖石墨烯中的 django 选择输出
我正在graphene
和graphene-django
我一起工作,我对IntegerField
选择有疑问。graphene
创建一个Enum
,如果值为 1,则输出为“A_1”;如果值为 2,则为“A_2”,依此类推。例子:
我找到了一个转换选择值的函数。
并且assert_valid_name
有这个正则表达式:
因此,无论以数字开头,它都会将其转换为“A_...”。
我怎样才能覆盖这个输出?
python - 使用 Python Graphene 设置一个值并获取多个值
我想设置一个石墨烯 python API,当提供域名时,它可以让用户查询主机、注册商或两者。此时,我只想能够以任何其他resolve
方法访问传入的域名。
似乎我不能self
用来存储传入的域名,因为它评估为None
.
对以下代码的任何建议将不胜感激......
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
django-models - 在 graphene/graphene_django 中扩展查询参数
如何向石墨烯中的 GraphQL 查询添加非字段参数?这是一个用例的示例。我希望能够做到:
使用这个 Django 模型:
以及基于它的 GraphQL 对象类型和查询:
它失败了,因为参数不被接受。我错过了什么?
facebook - GraphQL、Cassandra 和非规范化策略
像 Cassandra 这样的数据库和像 GraphQL 这样的方案能很好地协同工作吗?
Cassandra 的思想基于优化查询和非规范化数据的思想。这似乎与 GraphQL 意识形态不太吻合,在这种意识形态中,数据似乎可以在查询的每个级别访问。
示例:假设我像这样构建我的 Cassandra 表:
但是对于 GraphQL,它不会完全期望一个非规范化的用户。
所以有几件事:1.)这个 GraphQL 查询最终可能会多次访问我们的 Cassandra 数据库(假设没有缓存)。获取组名和每个用户,我们甚至可以为每个用户点击它。但是假设我们的解决方案通过一个 cassandra 调用创建了多个用户对象。
2.) 我们不能真正构建一个考虑到非规范化和 graphql 的 cassandra 惯用数据库,可以吗?否则,我们应该期望用户的某些属性不会随查询返回给我们。
总结一下这个问题,处理非规范化数据的 graphql 策略是什么?忽略客户认为可以访问的某些属性是否可以接受?例如,客户端尝试访问用户的地址,但我们目前没有,因为我们的数据是非规范化的。或者甚至不应该担心非规范化,而只是让 graphQL 在 db 和 graphql 之间使用缓存机制进行调用。例如,graphql 首先获取组,然后获取组 id 的用户数据。
django - 循环引用包 - Python/Django
在 GraphQL 实现的过程中,我发现自己做了很多循环引用来保持包的模块化。考虑以下文件夹结构。
公司.py
联系人.py
我一直收到 Django 错误:
这种循环引用可能吗?联系人和公司都需要能够引用单独包中定义的输入对象类。这样,graphql 可以接受带有子元素的输入,并允许嵌套创建以及允许在创建父对象时输入对象。
python - Graphene-Django 和模型属性
假设一个类似于这样的 Django 模型:
我在这个项目中使用了 Graphene-Django,并且我成功地创建了一个模式来描述 Profile 类型,并且可以通过 GraphQL 查询正确访问它。但是,我看不到任何方法可以使该属性也可用。
假设我应该从我的 Django 模型中删除所有属性样式的逻辑,而是只使用 GraphQL 和模型中的原始信息,然后在我使用 GraphQL 数据的地方执行该逻辑(例如,在使用它的 React 应用程序)?