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

python - 继承+外键

我一直在为此绞尽脑汁,似乎无法弄清楚如何解决这个问题。请注意,我已经从我的模型中删除了很多不相关的字段

我正在编写我的 SQL-Alchemy 模型,遇到了以下问题:

由于多个计费系统,每个都具有完全不同的属性,并且由于订阅属性的类型不同(即用户名、节点位置等),我不得不走多态继承之路。

一切正常,除了一件事。

假设我运行以下命令:

我将收到以下错误。

我明白它在说什么,我尝试了以下方法。

这仅存储 ID,当我尝试检索关联的对象时,我会收到一个整数。这涉及到我必须做一个额外的查询。我希望这不是要走的路。

我还尝试将所有计费系统 ID 的外键添加到 Product1 模型

这也根本不起作用,我收到了相同的 ProgrammingError 异常,指出该类型无法适应。

我已经浏览了手册,但找不到如何操作,但我需要某种形式的神奇选项来允许这种情况发生:

代替:

有没有人能够阐明我如何查询我的多态模型集以获取 ID,并且只获取基本模型的类?

我觉得这会解决我的问题,我只是不知道如何解决。

感谢您花时间阅读本文,我真的很想找出我哪里出错了(我也醒得太久了,所以这无济于事)。

干杯,里斯

0 投票
1 回答
713 浏览

python - Flask-SQLAlchemy - 系列中第一集未观看的剧集,按上次观看排序

在这里,我再次需要你的帮助。

我想从用户最喜欢的系列中检索每个系列的一集,该系列首先未观看(所以下一个要观看)和按最后观看排序的系列。

虽然这会返回:

但我希望有剧集作为对象,如:

提前感谢您的帮助。

0 投票
1 回答
3712 浏览

python - Python Flask、SQLAlchemy 关系

我已经尝试解决这个问题几个小时了,我无法让 SQLAlchemy 工作(它一直在工作,直到我放置了两个新功能,用户和注册)

这是它在运行时给我的回溯:

我也试过这个:

我得到了这个错误:

任何的想法?谢谢!

0 投票
2 回答
1803 浏览

python - Sqlalchemy:一对多关系与多对多关系相结合

我有一个具有多对多关系的用户和组表

现在我想向用户类添加一个主要组。当然,我可以只添加一个 group_id 列和与 Group 类的关系,但这有缺点。我想在调用 User.group 时获取所有组,包括 primary_group。主要组应始终是组关系的一部分。

编辑:

似乎要走的路是关联对象

我可以使用 AssociationProxy 简化这一点,但是如何强制每个用户只使用一个主要组?

0 投票
1 回答
67 浏览

python - 如何与 SQLAlchemy 中的无类值建立关系?

我在 Flask 下使用 SQLAlchemy。我有一个表格,代表我的系统可以处于的模式。我还有一个表格,其中包含适用于每种模式的海拔列表。(所以这是一个多对多的关系。)过去,当我向映射到表的类添加属性(如elevations内部ScanModes)时,目标也是一个类。

将高程包装在一个类中(并制作相应的表?)这样我可以relationship用来ScanModes.elevations工作,还是应该使用启用查询的属性?我也愿意接受其他建议。

0 投票
3 回答
7058 浏览

python - 设置 Flask-SQLAlchemy

尝试在 Windows 上设置 Flask 和 SQLAlchemy,但我遇到了问题。

我一直在使用 Flask-SQLAlchemy 以及 PostgreSQL 9.1.4(32 位)和 Psycopg2 包。这是相关的代码,我创建了一个基本的用户模型只是为了测试我的数据库正在连接和提交。

这三位代码将来__init__.py自我的应用程序文件、models.py文件和我的settings.py文件。

当我尝试打开我的交互式提示并尝试以下链接中的代码时,我得到了 ProgrammingError 异常(链接中的详细信息)。

这可能是什么原因造成的?我遵循了文档,我只是对自己做错了什么感到困惑,特别是考虑到我还在 Windows 上使用了 Django 和 psycopg2 和 PostgreSQL。

0 投票
1 回答
377 浏览

python - SQLAlchemy 菜单项层次结构/排序

我对 ORM 很陌生,所以我需要一些帮助来为我的 Flask 应用程序创建菜单。我已经实现了模型 MenuItem(src 在下面)。

要点是:

  • 它与自身具有一对多的关系。
  • 它与模型具有多对多关系Role

我的问题:

  1. 我可以跳过删除 generate_menu fn 中不可访问的子对象吗?这段代码(递归方法mark_restricted的调用)看起来太复杂了,不知在ORM查询中能不能做到?

  2. 实现菜单项排序的最佳实践是什么?

谢谢各位!

0 投票
1 回答
743 浏览

python - SQLAlchemy - 一次搜索三个表

编辑: 请原谅,因为我刚刚意识到我在下面的示例中犯了一个错误。这是我想要实现的目标:

假设我有如下所述的三个表。当用户输入查询时,它将在所有三个表中搜索名称为 LIKE %query% 的结果,但只返回唯一结果。

这是一些示例数据和输出:

数据:

如果用户搜索“j”,它将返回两个 Grandchild 条目:John 和 Jesse。如果用户搜索“j, Joshua”,它将只返回其孩子是 Joshua 的 Grandchildren - 在这种情况下,只有 John。

本质上,我想搜索所有的孙子条目,然后如果用户输入更多的关键词,它会根据他们相关的子条目的名称过滤这些孙子。“j”将返回所有以“j”开头的孙子,“j, Josh”将返回所有以“j”开头且拥有 Child LIKE %Josh% 的孙子。


所以,我有这样的设置:

孙子链接/映射到孩子。Child 映射到 Parent。

我想做的是如下所示,我一次搜索所有三个数据库:

显然上面的查询是不正确的,并返回一个错误:

我正在尝试的正确方法是什么?

我正在运行 MySQL、Flask-SQLAlchemy(我相信它扩展了 SQLAlchemy)、Flask。

0 投票
1 回答
595 浏览

mysql - SQLAlchemy - 查询多个表并组合结果

不再需要答案。

我的 MySQL 数据库中有两个表,如下所示:

我想要做的是查询两个表,但返回唯一的结果(没有重复)。我希望在 Child.name 为 LIKE %query% 的地方搜索两个表并返回所有子元素,但我也想返回所有子元素Parent.name 是 LIKE %query% 的父级。我相信 JOIN 可能会起作用,但我不熟悉如何使用 JOIN。

这是一些示例数据和输出:

如果用户查询“Jesse”,它将返回一个结果 - Child,其中名称为 LIKE %Jesse%。如果用户查询“Skylar”,它将返回两个结果 - Child where parent_id = Parent.id WHERE Parent.name is LIKE %Skylar%,从而返回属于 Skylar 的两个 Child。

先感谢您!

编辑:还要注意,我有 Child backref'd to Parent。

0 投票
1 回答
982 浏览

mysql - SQLAlchemy - 如何连接 MySQL

我有一个具有以下结构的 MySQL 数据库,希望有人可以帮助我将下面的 SQL 查询转换为 SQLAlchemy。

数据库结构:

这是我的模型:

这是我要转换为 SQLAlchemy 的 SQL:

表格底部的每个条目都与中间相关,中间的每个条目都与顶部相关。我想查询数据库以查找底部的所有条目,其名称为 LIKE %query%,底部的所有条目的中间名称为 LIKE %query%,以及底部所有条目的条目,中间的顶部名称是 LIKE查询

我想将其转换为 SQLAlchemy,如下所示:

换句话说,如果我在底部有一个与中间条目相关的条目,并且中间的条目与顶部的条目相关,如果我在顶部搜索适当的名称,它将不会返回中间条目与它相关,但与相关的中间条目相关的底部条目。

这是一个例子:

数据:

如果我搜索“Walter White”,它不会返回中间关系(Jesse Pinkman),而是返回底部关系到中间关系的结果(Gus Fring)。

先感谢您 :)。