问题标签 [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 投票
2 回答
4128 浏览

python - SQLAlchemy - 标签字典

我对 SQLAlchemy 有疑问。如何将类字典属性添加到我的映射类中,该属性将字符串键映射到字符串值,并将存储在数据库中(与原始映射对象在同一个或另一个表中)。我希望这为我的对象的任意标签添加支持。

我在 SQLAlchemy 文档中找到了以下示例:

但我想要以下行为:

在 SQLAlchemy 中可能吗?

谢谢

0 投票
1 回答
844 浏览

python - 灵药反射

我定义了一些工作正常的实体;对于元编程问题。我现在需要反映模型中定义的字段属性。

例如:

设置了哪种类型的关系:“ManyToMany”、“OneToMany”甚至是普通的“Field”,以及关系目标?

有什么简单的方法可以反映 Elixir 实体吗?

0 投票
1 回答
2429 浏览

python - SQLAlchemy - 映射器配置和声明性基础

我正在编写一个多媒体存档数据库后端,我想使用连接表继承。我正在使用带有声明性扩展的 SQLAlchemy 的 Python。保存媒体记录的表如下:

该列type是一个鉴别器。现在我想A从类中定义子类 udioRecord Record,但我不知道如何使用声明性语法设置多态映射器。我正在寻找以下代码的等效项(来自 SQLAlchemy 文档):

如何将polymorphic_on,polymorphic_identityinherits关键字传递给声明性扩展创建的映射器?

谢谢简

0 投票
3 回答
681 浏览

python - SQLAlchemy - MappedCollection 问题

我在 Python 的 SQLAlchemy 中设置字典集合时遇到了一些问题:

我正在使用表的声明性定义。我的Item表与表的关系为 1:N Record。我使用以下代码设置关系:

现在我想使用Items 和Records。让我们创建一些对象:

现在我想使用以下代码关联这些对象:

Record r没有设置name属性(外键)。有什么解决方案如何自动确保这一点?(我知道在Record创建过程中设置外键是可行的,但这对我来说并不好)。

非常感谢

0 投票
2 回答
14313 浏览

python - 我需要一个带有鼻子的python单元测试sqlalchemy模型的样本

有人可以告诉我如何为我使用鼻子创建的 sqlalchemy 模型编写单元测试。

我只需要一个简单的例子。

谢谢。

0 投票
1 回答
1110 浏览

python - Mapping a database table to an attribute of an object

I've come across a place in my current project where I have created several classes for storing a complicated data structure in memory and a completed SQL schema for storing the same data in a database. I've decided to use SQLAlchemy as an ORM layer as it seems the most flexible solution that I can tailor to my needs.

My problem is that I now need to map an entire table to just an array attribute in memory and am struggling to find out if this is possible and, if it is, how to do it with SQLAlchemy. It is still possible for me to change the data structures in code (although less than ideal) if not, but I would prefer not to.

The table in question is created using the following SQL:

This is just a small part of the complete database and the same thing is going to be required in several places.

0 投票
1 回答
1763 浏览

python - Elixir(SqlAlchemy):具有复合主键的 3 个表之间的关系

我有 3 张桌子:

  • 带有(company_id)主键的 Company 表
  • 带有(company_id, url)主键和外键的页表返回公司
  • (company_id, attr_key)带有主键和返回公司的外键的 Attr 表。

我的问题是如何使用 Attr 中的现有列构建从 Attr 到 Page 的 ManyToOne 关系,即company_idurl

我已经注释掉了一些失败的尝试。

最后,Attr.company_id 需要成为 Page 和 Company 的外键(以及 Attr 中的主键)。

这可能吗?

0 投票
6 回答
15069 浏览

python - SQLAlchemy 很复杂?

这似乎很有争议,但我刚刚浏览了 SQLAlchemy 的ORM 教程并最终得到以下代码:

对于有效的 Hello World 表来说,这似乎非常复杂,尤其是与大致相似的 SQLObject 代码相比:

我知道 SQLAlchemy “更强大”,但这种能力似乎是有代价的,还是我错过了什么?

0 投票
1 回答
5441 浏览

python - 如何在 SQLAlchemy 中使用引擎的 SQL 方言生成带有 DDL 的文件?

假设我engine指向 MySQL 数据库:

我可以通过以下方式填充dtdb表格、FK 等:

有没有一种简单的方法来生成包含所有 DDL 语句的 SQL 文件,而不是将这些 DDL 语句实际应用于dtdb

到目前为止,我已经求助于捕获由 生成的 SQLAlchemy 日志输出echo=True,并手动对其进行编辑。但这太痛苦了。

看起来 SA 有非常精细的模式管理 API,但我还没有看到简单地将模式定义流式传输为文本的示例。

0 投票
4 回答
934 浏览

python - SQLAlchemy - 每个请求的数据库命中?

我目前正在使用用 Python 编写的 Web 应用程序(并使用 SQLAlchemy)。为了处理身份验证,应用程序首先检查会话中的用户 ID,如果它存在,则将整个用户记录从数据库中提取出来,并将其存储用于该请求的其余部分。还会运行另一个查询来检查它存储的用户的权限。

我对 Web 应用程序开发世界还很陌生,但据我了解,在每个请求上访问数据库以获取类似的东西效率不高。或者这被认为是正常的事情吗?

到目前为止,我唯一想到的就是提取这些数据一次,并存储相关的内容(甚至每个请求都不需要大多数数据)。但是,这会带来一个问题,即如果此用户记录恰好在此期间被删除,将会发生什么。关于如何最好地管理这个的任何想法?