版本:1.1.0b2 |发布日期:2016年7月1日

SQLAlchemy 1.1文档

运行时检测API

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

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

inspect()的基本原理是双重的。One is that it replaces the need to be aware of a large variety of “information getting” functions in SQLAlchemy, such as Inspector.from_engine(), orm.attributes.instance_state(), orm.class_mapper(), and others. The other is that the return value of inspect() is guaranteed to obey a documented API, thus allowing third party tools which build on top of SQLAlchemy configurations to be constructed in a forwards-compatible way.

New in version 0.8: The inspect() system is introduced as of version 0.8.

sqlalchemy.inspection.inspect(subject, raiseerr=True)

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

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

参数:
  • 主题 - 要检查的主题。
  • raiseerr – When True, if the given subject does not correspond to a known SQLAlchemy inspected type, sqlalchemy.exc.NoInspectionAvailable is raised. 如果False,则返回None

可用的检查目标

下面列出了许多最常见的检查目标。