SQLAlchemy 特色是一个广泛的事件监听系统,贯穿于核心和 ORM 中。在 ORM 中,有各种各样的事件监听器钩子,这些钩子在 ORM 事件的 API 级别有文档记录。这些事件的集合多年来已经增长,包括许多非常有用的新事件,以及一些曾...
此功能允许将数据库列的值设置为 SQL 表达式而不是文字值。这对于原子更新、调用存储过程等特别有用。您所要做的就是将表达式分配给属性:
映射器支持在relationship()构造上配置可配置级联行为的概念。这涉及到相对于特定Session上执行的操作应如何传播到由该关系引用的项目(例如“子”对象),并且受到relationship.cascade选项的影响。...
在 ORM 映射类配置 中描述的声明基础和 ORM 映射函数是 ORM 的主要配置接口。一旦配置了映射,持久性操作的主要使用接口是 Session。
本页包含了由 Python 生成的Query构造的文档,多年来这是与 SQLAlchemy ORM 一起使用时的唯一 SQL 接口。从版本 2.0 开始,现在采用的是全新的工作方式,其中与 Core 相同的select()构造对 ORM 同样有效,为构建查询提供了一...
SQLAlchemy 的一个重要部分是在查询时提供对相关对象加载方式的广泛控制。所谓“相关对象”是指在映射器上使用relationship()配置的集合或标量关联。这种行为可以在映射器构造时使用relationship()函数的relationshi...
本节介绍了有关加载列的其他选项。使用的映射包括将存储大字符串值的列,我们可能希望限制它们何时加载。
本节利用了首次在 SQLAlchemy 统一教程中展示的 ORM 映射,如声明映射类一节所示,以及映射类继承层次结构一节中展示的继承映射。
本节利用了使用 ORM 继承 功能配置的 ORM 映射,描述在 映射类继承层次结构 中。重点将放在 连接表继承,因为这是最复杂的 ORM 查询情况。