The inspection module provides the _sa.inspect
function,
which delivers runtime information about a wide variety
of SQLAlchemy objects, both within the Core as well as the
ORM.
The _sa.inspect
function is the entry point to SQLAlchemy's
public API for viewing the configuration and construction
of in-memory objects. Depending on the type of object
passed to _sa.inspect
, the return value will either be
a related object which provides a known interface, or in many
cases it will return the object itself.
The rationale for _sa.inspect
is twofold. One is that
it replaces the need to be aware of a large variety of "information
getting" functions in SQLAlchemy, such as
_reflection.Inspector.from_engine
(deprecated in 1.4),
.orm.attributes.instance_state
, _orm.class_mapper
,
and others. The other is that the return value of _sa.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.
Function | _inspects |
Undocumented |
Function | _self_inspects |
Undocumented |
Function | inspect |
Produce an inspection object for the given target. |
Variable | _registrars |
Undocumented |
Produce an inspection object for the given target.
The returned value in some cases may be the
same object as the one given, such as if a
_orm.Mapper
object is passed. In other
cases, it will be an instance of the registered
inspection type for the given object, such as
if an _engine.Engine
is passed, an
_reflection.Inspector
object is returned.
Parameters | |
subject | the subject to be inspected. |
raiseerr | When True, if the given subject
does not
correspond to a known SQLAlchemy inspected type,
sqlalchemy.exc.NoInspectionAvailable
is raised. If False, None is returned. |