问题标签 [graphene-sqlalchemy]

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 回答
904 浏览

python - SQLAlchemy 未检测到 _determine_joins 上的 ForeignKeys,NoForeignKeysError

我遇到了一个问题,SQLAlchemy 在尝试确定两个表的主连接时抛出 NoForeignKeysError。奇怪的是,这个问题只发生在模型的第二次实例化上(即,如果我删除表并重新创建它们,它在我第一次运行脚本时有效,但在随后的时间里无效)。更奇怪的是,如果我inspect用来查看子表的 ForeignKeys,我可以清楚地看到它们存在(psql并且仅查看声明性基础的元数据也证实了这一点)。我的模型是由脚本生成的,所有其他具有相似或更复杂关系的表都按预期工作,但是只有这组特定的表存在这个问题。

它抛出的具体错误是:

sqlalchemy.exc.NoForeignKeysError:找不到“task_statuses”和“task_data”之间的任何外键关系。

sqlalchemy.exc.NoForeignKeysError:无法确定关系 task_statuses.task_data 上父/子表之间的连接条件 - 没有链接这些表的外键。确保引用列与 ForeignKey 或 ForeignKeyConstraint 相关联,或指定“primaryjoin”表达式。

代码片段:

更新:

重新阅读错误消息后,我意识到 SQLAlchemy 似乎认为那task_statuses是父表,而实际上它是子表。这仍然无法解释,实际上更令人困惑,但可能值得注意。即使指定了primaryjoin,错误仍然存​​在。

0 投票
1 回答
5442 浏览

graphene-python - Python graphql 异常处理:是否期望得到具有 200 OK 响应的错误数组?

根据https://www.howtographql.com/graphql-python/6-error-handling/中的文档,我用来raise GraphQLError在我的 Flask GraphQL 应用程序变异函数中显示错误,如下所示:

我期望得到类似 400 状态码的东西,带有 graphql 错误 json 模式。但我得到 200 并且异常打印在带有回溯的控制台中。我在这里做错了吗?

0 投票
2 回答
1631 浏览

python - Graphene_sqlalchemy 和 flask-sqlalchemy 在什么是有效的 SQLAlchemy 模型上存在分歧?

使用 Flask、Graphene 并遇到问题。考虑以下。

模型项目.model.site:

模型架构 (project.schemas.site_schema)

最后是我计划通过它公开 GraphQL api (project.schemas.schema) 的主要模式

如果我在启动时加载模型,一切都很好。发生迁移,应用程序运行良好。如果我通过模式加载模型,但应用程序失败并显示以下消息:

我用 flask_sqlalchemy 初始化了 SQLAlchemy。这让我想知道创建的模型是否不被视为有效的 SQLAlchemy 模型?还是我在这里犯了一个我没有看到的基本错误。我假设是后者。

0 投票
0 回答
250 浏览

flask - 使用 Flask-GraphiQL 一次连接到多个数据源

我正在构建一个连接到两个不同数据库的 GraphQL API。我正在尝试使用Flask-GraphQL创建一个 GraphQL 接口,但似乎我只能通过上下文变量一次将单个 SQLAlchemy 会话绑定到应用程序:

有没有办法一次连接到多个数据源,或者这是不可能的?

0 投票
0 回答
183 浏览

python - 如何通过石墨烯继电器动态切换sqlalchemy模型?

在我们的系统中,我们有两个相似(但不相同)的数据库。所以我建立了这些 sqlalchemy 模型:

然后我可以通过以下方式访问不同的数据库:

现在,我想通过 graphql 构建我们的 API 系统。首先,我继承自SQLAlchemyConnectionField支持数据库切换。

但是当我想定义我的节点时,我发现定义必须是:

有两个节点定义来支持不同的数据库。但我想做类似的事情:

这样我就可以在运行时切换类似的模型。但是,即使我尝试从 继承Node,我也无法实现它。有谁知道我该怎么办?

0 投票
1 回答
1985 浏览

python - AssertionError:在架构中找到具有相同名称的不同类型

我有两个类:我的模型中的 Products 和 SalableProducts (SalableProducts 继承自 Products,因此它具有数据库的每个字段)。这是我的架构在下面

我尝试包括“exclude_fields”属性,但没有奏效

Product_schema.py:

Saleable_product_schema.py:

架构.py:

结果是这个错误:

AssertionError:在架构中找到具有相同名称的不同类型:product_status、product_status。

(product_status 是两个类通过继承共享的属性)

0 投票
0 回答
175 浏览

python - 如何在 Graphene-SQLAlchemy 中的子关系上使用字段参数进行查询

我试图弄清楚如何在 GraphQL 的子表中接受参数和查询该字段。

这是一个例子。

这是我用来查询数据的。它可以查询数据,除了我希望能够传递一个参数来搜索特定的例如 featureVectors(featureSize: 128)。我似乎在 Graphene-SQLAlchemy 库中找不到任何本机允许这样做的东西。

0 投票
1 回答
1231 浏览

django - Graphene/GraphQL 查找特定列值

出于某种原因,我无法弄清楚如何在我的SQLAlchemy数据库中简单地找到特定的数据。

graphene-python 文档中,它只是简单地执行此查询以匹配 id(它是一个字符串):

现在这是我的 BookSchema 的 Flask-Graphene-SQLAlchemy 代码,我想找到一个特定的标题而不是一个 ID:

当我运行此查询时,一切正常并返回 3 个书名:

但是,一旦我尝试匹配特定的标题,它就会停止工作。例如:

错误:"Unknown argument \"title\" on field \"allBooks\" of type \"Query\"."

我一定犯了一个我没有看到的小错误,但我无法弄清楚。我花了几个小时试图弄清楚这一点。

问题:如何匹配标题并让它返回对象?我究竟做错了什么?

0 投票
1 回答
603 浏览

python - SQLAlchemy / Flask - 获取关系表中的行数

这是我的场景。我有一个表格,Books每本书都有一个表格,Questions每个问题都有一个表格Answers

我想要做的是有效地获得给定列表的答案数量Question.id。例子:

这就是我正在做的事情,事实证明它的效率非常低:

我假设这太慢q.Answers了,因为实际上是在填充数据。

这是我的模型:

问题:我想要的只是条目数量QuestionModel.Answers,而不是实际数据本身。我将如何做到这一点,所以一个人不需要 2 分钟Book.id?获取Question.id每本书的答案很快,但获取每本书的答案数量Question.id却非常慢。

0 投票
1 回答
456 浏览

python - 如何插入多对多记录数据?

请考虑以下用例。

Post模型,也有Tag模型。他们俩之间都有many-to-many关系。Apost可以有多个tags,而 atag可以有多个posts

为了实现这个用例,我实现了一个名为的映射表,PostTag如下所示

使用此设置,我可以成功查询tags给定的所有post,反之亦然,但我不知道为给定的postand添加新的关联tag

请参阅下面的屏幕截图,了解我如何查询彼此的相关tags和关闭。posts

在此处输入图像描述

如果我在这里遗漏了什么,请告诉我。

谢谢