运行时检查 API


检查模块提供了 inspect() 函数,该函数提供有关 Core 和 ORM 中各种 SQLAlchemy 对象的运行时信息。


inspect() 函数是 SQLAlchemy 的公共 API 的入口点,用于查看内存中对象的配置和构造。根据传递给 inspect() 的对象类型,返回值将是提供已知接口的相关对象,或者在许多情况下它将返回对象本身。


inspect() 的基本原理有两个。 一是 它取代了了解各种“信息” getting“函数,例如 Inspector.from_engine() (在 1.4 中已弃用)、 instance_state()、class_mapper() 等。另一个是 inspect() 的返回值 保证遵守记录的 API,从而允许第三方 构建在要构建的 SQLAlchemy 配置之上的工具 以向前兼容的方式。


对象名称

描述


inspect(subject[, raiseerr])


为给定目标生成检查对象。


函数 sqlalchemy.inspectsubject Anyraiseerr bool = True 任意


为给定目标生成检查对象。


在某些情况下,返回的值可能是 与给定的对象相同,例如如果 Mapper 对象。在其他情况下,它将是给定对象的已注册检查类型的实例,例如,如果传递了 Engine,则 Inspector 对象。


参数

  • subject – 要检查的主题。


  • raiseerr- 当 True 时,如果给定的主题 不 对应于已知的 SQLAlchemy 检查类型, sqlalchemy.exc.NoInspectionAvailable 被提升。 如果为 False,则返回 None


可用的检查目标


以下是许多最常见的检查目标的列表。