问题标签 [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.
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,错误仍然存在。
graphene-python - Python graphql 异常处理:是否期望得到具有 200 OK 响应的错误数组?
根据https://www.howtographql.com/graphql-python/6-error-handling/中的文档,我用来raise GraphQLError
在我的 Flask GraphQL 应用程序变异函数中显示错误,如下所示:
我期望得到类似 400 状态码的东西,带有 graphql 错误 json 模式。但我得到 200 并且异常打印在带有回溯的控制台中。我在这里做错了吗?
python - Graphene_sqlalchemy 和 flask-sqlalchemy 在什么是有效的 SQLAlchemy 模型上存在分歧?
使用 Flask、Graphene 并遇到问题。考虑以下。
模型项目.model.site:
模型架构 (project.schemas.site_schema)
最后是我计划通过它公开 GraphQL api (project.schemas.schema) 的主要模式
如果我在启动时加载模型,一切都很好。发生迁移,应用程序运行良好。如果我通过模式加载模型,但应用程序失败并显示以下消息:
我用 flask_sqlalchemy 初始化了 SQLAlchemy。这让我想知道创建的模型是否不被视为有效的 SQLAlchemy 模型?还是我在这里犯了一个我没有看到的基本错误。我假设是后者。
flask - 使用 Flask-GraphiQL 一次连接到多个数据源
我正在构建一个连接到两个不同数据库的 GraphQL API。我正在尝试使用Flask-GraphQL创建一个 GraphQL 接口,但似乎我只能通过上下文变量一次将单个 SQLAlchemy 会话绑定到应用程序:
有没有办法一次连接到多个数据源,或者这是不可能的?
python - 如何通过石墨烯继电器动态切换sqlalchemy模型?
在我们的系统中,我们有两个相似(但不相同)的数据库。所以我建立了这些 sqlalchemy 模型:
然后我可以通过以下方式访问不同的数据库:
现在,我想通过 graphql 构建我们的 API 系统。首先,我继承自SQLAlchemyConnectionField
支持数据库切换。
但是当我想定义我的节点时,我发现定义必须是:
有两个节点定义来支持不同的数据库。但我想做类似的事情:
这样我就可以在运行时切换类似的模型。但是,即使我尝试从 继承Node
,我也无法实现它。有谁知道我该怎么办?
python - AssertionError:在架构中找到具有相同名称的不同类型
我有两个类:我的模型中的 Products 和 SalableProducts (SalableProducts 继承自 Products,因此它具有数据库的每个字段)。这是我的架构在下面
我尝试包括“exclude_fields”属性,但没有奏效
Product_schema.py:
Saleable_product_schema.py:
架构.py:
结果是这个错误:
AssertionError:在架构中找到具有相同名称的不同类型:product_status、product_status。
(product_status 是两个类通过继承共享的属性)
python - 如何在 Graphene-SQLAlchemy 中的子关系上使用字段参数进行查询
我试图弄清楚如何在 GraphQL 的子表中接受参数和查询该字段。
这是一个例子。
这是我用来查询数据的。它可以查询数据,除了我希望能够传递一个参数来搜索特定的例如 featureVectors(featureSize: 128)。我似乎在 Graphene-SQLAlchemy 库中找不到任何本机允许这样做的东西。
django - Graphene/GraphQL 查找特定列值
出于某种原因,我无法弄清楚如何在我的SQLAlchemy数据库中简单地找到特定的数据。
在graphene-python 文档中,它只是简单地执行此查询以匹配 id(它是一个字符串):
现在这是我的 BookSchema 的 Flask-Graphene-SQLAlchemy 代码,我想找到一个特定的标题而不是一个 ID:
当我运行此查询时,一切正常并返回 3 个书名:
但是,一旦我尝试匹配特定的标题,它就会停止工作。例如:
错误:"Unknown argument \"title\" on field \"allBooks\" of type \"Query\"."
我一定犯了一个我没有看到的小错误,但我无法弄清楚。我花了几个小时试图弄清楚这一点。
问题:如何匹配标题并让它返回对象?我究竟做错了什么?
python - SQLAlchemy / Flask - 获取关系表中的行数
这是我的场景。我有一个表格,Books
每本书都有一个表格,Questions
每个问题都有一个表格Answers
。
我想要做的是有效地获得给定列表的答案数量Question.id
。例子:
这就是我正在做的事情,事实证明它的效率非常低:
我假设这太慢q.Answers
了,因为实际上是在填充数据。
这是我的模型:
问题:我想要的只是条目数量QuestionModel.Answers
,而不是实际数据本身。我将如何做到这一点,所以一个人不需要 2 分钟Book.id
?获取Question.id
每本书的答案很快,但获取每本书的答案数量Question.id
却非常慢。