运行时检查 API

检查模块提供 inspect() 函数,它可以提供有关各种 SQLAlchemy 对象的运行时信息,包括核心和 ORM 中的对象。

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

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

对象名称 描述

inspect(subject[, raiseerr])

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

function sqlalchemy.inspect(subject: Any, raiseerr: bool = True) Any

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

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

参数:
  • subject – 要检查的目标。

  • raiseerr – 当 True 时,如果给定目标不对应于已知的 SQLAlchemy 检查类型,则会引发 sqlalchemy.exc.NoInspectionAvailable。如果 False,则返回 None

可用检查目标

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