SQLAlchemy 2.0 文档
SQLAlchemy ORM
- ORM 快速入门
- ORM 映射类配置
- 关系配置
- ORM 查询指南
- 使用会话
- 事件和内部机制
- ORM 扩展
- 异步 I/O (asyncio)
- 关联代理
- 自动映射
- 预处理查询
- 声明式扩展
- Mypy / Pep-484 对 ORM 映射的支持
- 变动跟踪
- 排序列表
- 水平分片
- 混合属性
- 可索引
- 备用类检测¶
- API 参考
INSTRUMENTATION_MANAGER
InstrumentationFactory
InstrumentationManager
InstrumentationManager.dict_getter()
InstrumentationManager.get_instance_dict()
InstrumentationManager.initialize_instance_dict()
InstrumentationManager.install_descriptor()
InstrumentationManager.install_member()
InstrumentationManager.install_state()
InstrumentationManager.instrument_attribute()
InstrumentationManager.instrument_collection_class()
InstrumentationManager.manage()
InstrumentationManager.manager_getter()
InstrumentationManager.post_configure_attribute()
InstrumentationManager.remove_state()
InstrumentationManager.state_getter()
InstrumentationManager.uninstall_descriptor()
InstrumentationManager.uninstall_member()
InstrumentationManager.unregister()
instrumentation_finders
ExtendedInstrumentationRegistry
- API 参考
- ORM 示例
项目版本
- 上一页: 可索引
- 下一页: ORM 示例
- 上一级: 主页
- 本页内容
- 备用类检测
- API 参考
INSTRUMENTATION_MANAGER
InstrumentationFactory
InstrumentationManager
InstrumentationManager.dict_getter()
InstrumentationManager.get_instance_dict()
InstrumentationManager.initialize_instance_dict()
InstrumentationManager.install_descriptor()
InstrumentationManager.install_member()
InstrumentationManager.install_state()
InstrumentationManager.instrument_attribute()
InstrumentationManager.instrument_collection_class()
InstrumentationManager.manage()
InstrumentationManager.manager_getter()
InstrumentationManager.post_configure_attribute()
InstrumentationManager.remove_state()
InstrumentationManager.state_getter()
InstrumentationManager.uninstall_descriptor()
InstrumentationManager.uninstall_member()
InstrumentationManager.unregister()
instrumentation_finders
ExtendedInstrumentationRegistry
- API 参考
备用类检测¶
可扩展的类检测。
The sqlalchemy.ext.instrumentation
包提供了一种在 ORM 中使用备用类检测系统的机制。类检测指的是 ORM 如何在类上放置属性来维护数据并跟踪对该数据的更改,以及安装在类上的事件钩子。
注意
此扩展包是为了与其他对象管理包的集成而提供的,这些包已经执行了自己的检测。它并非用于一般用途。
有关如何使用检测扩展的示例,请参阅示例 属性检测.
API 参考¶
对象名称 | 描述 |
---|---|
使用额外簿记扩展 |
|
一个可扩展的调用序列,它们返回检测实现 |
|
属性,在映射类上存在时,会选择自定义检测。 |
|
用于创建新 ClassManager 实例的工厂。 |
|
用户定义的类检测扩展。 |
- sqlalchemy.ext.instrumentation.INSTRUMENTATION_MANAGER = '__sa_instrumentation_manager__'¶
属性,在映射类上存在时,会选择自定义检测。
允许类指定一种略微或完全不同的技术来跟踪对映射属性和集合所做的更改。
在给定对象继承层次结构中,只允许一种检测实现。
此属性的值必须是一个可调用对象,并将传递一个类对象。可调用对象必须返回以下之一:
一个
InstrumentationManager
或其子类的实例一个实现 InstrumentationManager 所有或部分方法的对象(待定)
一个包含可调用对象的字典,实现上述所有或部分方法(待定)
一个
ClassManager
或其子类的实例
导入
sqlalchemy.ext.instrumentation
模块后,SQLAlchemy 检测解析会咨询此属性。如果在全局 instrumentation_finders 列表中安装了自定义查找器,它们可能会选择遵守或不遵守此属性。
- class sqlalchemy.orm.instrumentation.InstrumentationFactory¶
用于创建新 ClassManager 实例的工厂。
类签名
class
sqlalchemy.orm.instrumentation.InstrumentationFactory
(sqlalchemy.event.registry.EventTarget
)
- class sqlalchemy.ext.instrumentation.InstrumentationManager¶
用户定义的类检测扩展。
可以通过子类化
InstrumentationManager
来更改类检测的执行方式。此类是为了与希望完全修改 ORM 检测方法的其他对象管理框架进行集成而存在的,不建议常规使用。有关拦截类检测事件,请参阅InstrumentationEvents
.成员
dict_getter(), get_instance_dict(), initialize_instance_dict(), install_descriptor(), install_member(), install_state(), instrument_attribute(), instrument_collection_class(), manage(), manager_getter(), post_configure_attribute(), remove_state(), state_getter(), uninstall_descriptor(), uninstall_member(), unregister()
此类的 API 应视为半稳定,可能会在新的版本中发生细微变化。
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.
dict_getter(class_)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.
get_instance_dict(class_, instance)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.
initialize_instance_dict(class_, instance)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.
install_descriptor(class_, key, inst)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.
install_member(class_, key, implementation)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
install_state(class_, instance, state)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
instrument_attribute(class_, key, inst)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
instrument_collection_class(class_, key, collection_class)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
manage(class_, manager)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
manager_getter(class_)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
post_configure_attribute(class_, key, inst)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
remove_state(class_, instance)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
state_getter(class_)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
uninstall_descriptor(class_, key)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
uninstall_member(class_, key)¶
-
方法
sqlalchemy.ext.instrumentation.InstrumentationManager.
unregister(class_, manager)¶
-
method
- sqlalchemy.ext.instrumentation.instrumentation_finders = [<function find_native_user_instrumentation_hook>]¶
一个可扩展的调用序列,它们返回检测实现
当一个类被注册时,每个可调用对象将传递一个类对象。如果返回 None,则查询序列中的下一个查找器。否则,返回值必须是遵循与 sqlalchemy.ext.instrumentation.INSTRUMENTATION_MANAGER 相同准则的 instrumentation 工厂。
默认情况下,唯一的查找器是 find_native_user_instrumentation_hook,它搜索 INSTRUMENTATION_MANAGER。如果所有查找器都返回 None,则使用标准 ClassManager instrumentation。
- 类 sqlalchemy.ext.instrumentation.ExtendedInstrumentationRegistry¶
使用额外簿记扩展
InstrumentationFactory
,以适应多种类型的类管理器。
flambé! 龙和 炼金术士 图像设计由 Rotem Yaari 创建并慷慨捐赠。
使用 Sphinx 7.2.6 创建。文档最后生成时间: Fri 08 Nov 2024 08:41:19 AM EST