发布:2.0.36 当前版本 | 发布日期:2024 年 10 月 15 日
SQLAlchemy 2.0 文档
SQLAlchemy ORM
- ORM 快速入门
- ORM 映射类配置
- 关系配置
- ORM 查询指南
- 使用会话
- 事件和内部机制
- ORM 扩展
- ORM 示例
项目版本
ORM 异常¶
SQLAlchemy ORM 异常。
对象名称 | 描述 |
---|---|
|
|
可能由工具实现抛出的异常类型。 |
-
attribute
sqlalchemy.orm.exc..
sqlalchemy.orm.exc.ConcurrentModificationError¶ StaleDataError
的别名
- exception sqlalchemy.orm.exc.DetachedInstanceError¶
尝试在已分离的映射实例上访问未加载的属性。
- exception sqlalchemy.orm.exc.FlushError¶
在 flush() 期间检测到无效条件。
- exception sqlalchemy.orm.exc.LoaderStrategyException¶
属性的加载策略不存在。
-
method
sqlalchemy.orm.exc.LoaderStrategyException.
__init__(applied_to_property_type: Type[Any], requesting_property: MapperProperty[Any], applies_to: Type[MapperProperty[Any]] | None, actual_strategy_type: Type[LoaderStrategy] | None, strategy_key: Tuple[Any, ...])¶
-
method
- sqlalchemy.orm.exc.NO_STATE = (<class 'AttributeError'>, <class 'KeyError'>)¶
可能由工具实现抛出的异常类型。
- exception sqlalchemy.orm.exc.ObjectDeletedError¶
刷新操作未能检索到与对象的已知主键标识相对应的数据库行。
当访问对象上已过期的属性时,或使用
Query.get()
检索在检索时被检测为已过期的对象时,将执行刷新操作。将根据主键针对目标行发出一个 SELECT 语句;如果未返回任何行,则会引发此异常。此异常的真实含义仅仅是与持久对象关联的主键标识符不存在对应行。该行可能已被删除,或者在某些情况下,主键可能已在 ORM 管理目标对象之外更新为新值。
-
method
sqlalchemy.orm.exc.ObjectDeletedError.
__init__(state: InstanceState[Any], msg: str | None = None)¶
-
method
- exception sqlalchemy.orm.exc.ObjectDereferencedError¶
由于对象被垃圾回收,操作无法完成。
- exception sqlalchemy.orm.exc.StaleDataError¶
操作遇到了数据库状态,而该状态未被考虑在内。
导致这种情况发生的条件包括
刷新操作可能试图更新或删除行,但在 UPDATE 或 DELETE 语句期间匹配到的行数意外。请注意,当使用 version_id_col 时,UPDATE 或 DELETE 语句中的行也会与当前已知的版本标识符匹配。
具有 version_id_col 的映射对象已刷新,但从数据库返回的版本号与对象本身的版本号不匹配。
对象与其父对象分离,但该对象先前已附加到另一个已进行垃圾回收的父对象标识,无法判断新父对象是否是真正最新的“父对象”。
- exception sqlalchemy.orm.exc.UnmappedClassError¶
针对未知类请求了映射操作。
-
方法
sqlalchemy.orm.exc.UnmappedClassError.
__init__(cls: Type[_T], msg: str | None = None)¶
-
方法
- 异常 sqlalchemy.orm.exc.UnmappedColumnError¶
针对未知列请求了映射操作。
- 异常 sqlalchemy.orm.exc.UnmappedError¶
对涉及预期映射不存在的异常的基类。
- 异常 sqlalchemy.orm.exc.UnmappedInstanceError¶
针对未知实例请求了映射操作。
-
方法
sqlalchemy.orm.exc.UnmappedInstanceError.
__init__(obj: object, msg: str | None = None)¶
-
方法
上一章: ORM 内部机制 下一章: ORM 扩展
© 版权 2007-2024, SQLAlchemy 作者和贡献者。
flambé! 龙和 炼金术士 图片设计由 Rotem Yaari 创建并慷慨捐赠。
使用 Sphinx 7.2.6 创建。 文档最后生成时间: 2024年11月8日星期五 上午8:41:19 EST