问题标签 [graphene-django]

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 投票
0 回答
197 浏览

graphene-python - 如何在graphene-django中自动记录graphql查询?

使用 graphene-django 记录例如 GraphQL 对象类型类时,文档字符串通常用于自动生成在 GraphiQL 中可见的文档。这也应该适用于普通的 graphene-python 和所有基于 graphene-python 的实现,比如 graphene 和 graphene-mongo。但是用于查询解析器功能的文档字符串不用于自动记录查询。如何使用文档字符串记录查询?

0 投票
1 回答
394 浏览

django - 多对多关系中的缓存更新

我在我的项目中使用了 Django、GraphQL (graphene-django)、VueJS 和 Apollo Client 的组合。在我尝试管理 many2many 关系之前,一切正常。通常,当我对已经在缓存中的对象进行更新突变时,会检测到它并更新显示的数据。问题是,在我的新案例中,我正在更新我的两个对象之间的 many2many 关系并且它没有更新,而它在数据库中正确完成(甚至在缓存中,当我在控制台中打印它时,它是奇怪的)。通常,我试图在组中/从组中添加/删除用户。也许我已经看我的代码太久了,我看不到明显的东西。无论如何这是我的代码:

我的 Django 模型:


我的模式:


我的突变体:

我的 js 常量(gql 查询):

我的模板(样本):这些是 2 列。当我删除一个用户时,它应该从左列中删除,它应该出现在不在组中的用户(右列)中,当我添加一个用户时,它应该从右列转到左列。

我的数据:(以便您了解它们的来源)。请注意,我应该将“用户”细化为尚未/不再在组中的用户。

最后是我的方法

如果你们需要更多代码(有些部分我会忘记),请随时告诉我,我会提供。

我正在做的一个示例(这样你会注意到我的演示数据实际上是通过砸我的键盘制作的):

在此处输入图像描述

0 投票
1 回答
590 浏览

django - 如何调试 Django 后端的 GraphQL 订阅?

我想将 GraphQL 订阅添加到后端 GraphQL API。我可以使用内置的graphene_djangoGraphiQL 调试订阅吗?

0 投票
0 回答
183 浏览

django - 我可以指定石墨烯对象类型作为石墨烯突变的参数吗?

我正在将 Django 模型映射到 GraphQL API graphene_django。这些模型以一对多和多对多的关系相互引用。对于“创建” GraphQL 突变,它将创建没有关系引用的模型实例,您只需使用模型字段作为突变参数。

然而,对于“创建” GraphQL 突变,它将为具有“子”模型(通过关系引用的模型实例)的模型创建实例,因此能够将一个/多个“子”模型作为相应的传递是有利的石墨烯对象类型(继承自 的类DjangoObjectType)作为突变参数。我还没有找到任何教程/设计指南来说明如何做到这一点。我怎么能做到这一点?

0 投票
1 回答
1899 浏览

django - 带有可选字段习语的graphql-django更新突变?

a当使用许多(这里只是和)可选的 InputObjectType 字段实现 GraphQL 更新突变时,b它会生成大量样板文件来检查 InputObjectTypes 字段是否已通过。是否有一些成语被认为是这个主题的最佳实践?

0 投票
1 回答
1258 浏览

python - GraphQL-“未知参数 \"country\" 在类型 \"Query\" 的字段 \"allNews\" 上。",

GraphQL 新手在这里。所以我试图在 Django 中使用石墨烯编写一个模式,它将国家参数作为字符串和时间参数作为字符。该查询与“时间”参数一起工作正常,但每当我添加“国家”参数时。它引发以下错误"Unknown argument \"country\" on field \"allNews\" of type \"Query\".",。这是我的架构和类型:

类型:

架构:

但是每当我输入查询时,它都会返回以下错误:

询问:

输出:

0 投票
3 回答
2601 浏览

django - 如何在 Graphene Django Relay 查询中获取模型 ID?

当我们执行 Relay 查询时,如何接收存储在数据库中的本机模型 ID(例如 django 模型 ID)?中继定义它自己的 ID 的主要问题,所以我不确定我们如何正确处理它。

例如。

将打印

其中id是石墨烯中继 ID,但我想查看模型 ID。

我看到的唯一一种可能的方法是在石墨烯模式中为模型 ID 字段创建一些别名,并从 Django 模型中手动获取此 ID。但也许存在一些更动态的方式来实现相同的结果?

谢谢你的帮助!

PS查询的实现并不重要。这只是一个虚拟演示

0 投票
1 回答
484 浏览

graphql - 如何删除 Graphene Django 突变查询(中继)中的嵌套输入对象?

我想在中继中创建一个突变。我正在使用InputObjectType模式来分离输入并使其可重用。在突变类中,我正在使用Input类,并且我正在传递 InputObjectType

一般来说,它可以工作,但客户端的最终查询非常难看。我需要以这种方式传递参数

老实说,我不喜欢它。我觉得它看起来很丑。

所以问题是:是否可以避免大量使用这些输入对象? 可以使用 1 个输入对象,但嵌套的输入对象是多余的,我想避免使用它。

谢谢你的帮助!

这是示例

突变查询是:

它工作正常,这是结果。但我想删除嵌套输入的东西

0 投票
1 回答
3076 浏览

python - 如何使用 graphene-django 定义突变的自定义输出类型?

创建/删除/更新/删除(CRUD)突变通常返回相应的数据库模型实例作为突变的输出类型。但是对于非 CRUD 突变,我想定义业务逻辑特定的突变输出类型。例如,返回列表元素的计数 + 无法在 graphql 类型和 db 模型之间一对一映射的 ID 列表。我怎样才能做到这一点graphene-django

0 投票
1 回答
558 浏览

python - 如何使用 Graphene-Django Relay 中的外键关系更新模型?

我正在尝试创建具有外键关系的模型的更新突变。我已经按照文档完成了所有操作,但是当我提供外部模型输入时它仍然无法正常工作。

我使用应该在查询中传递的正确属性创建了输入,但它不起作用并引发下面显示的错误。 字段 'id' 需要一个数字,但得到 {'id': 2}。

我无法理解此错误背后的原因。我正在传递正确的输入(我相信)有人可以帮我理解为什么会这样吗?

非常感谢您的建议和意见。

输入:

更新突变:

客户端的突变查询:

最后结果:

我还想提一下,当我fuelType从查询中删除输入时,一切正常,例如: