Runtime Inspection API

Das Inspektionsmodul stellt die Funktion inspect() bereit, die Laufzeitinformationen über eine Vielzahl von SQLAlchemy-Objekten liefert, sowohl im Core als auch im ORM.

Die Funktion inspect() ist der Einstiegspunkt zur öffentlichen API von SQLAlchemy, um die Konfiguration und Konstruktion von In-Memory-Objekten anzuzeigen. Abhängig vom Typ des an inspect() übergebenen Objekts ist der Rückgabewert entweder ein verwandtes Objekt, das eine bekannte Schnittstelle bereitstellt, oder in vielen Fällen wird das Objekt selbst zurückgegeben.

Die Begründung für inspect() ist zweigeteilt. Einerseits ersetzt sie die Notwendigkeit, sich einer Vielzahl von Funktionen zum "Abrufen von Informationen" in SQLAlchemy bewusst zu sein, wie z. B. Inspector.from_engine() (in 1.4 veraltet), instance_state(), class_mapper() und andere. Andererseits ist garantiert, dass der Rückgabewert von inspect() eine dokumentierte API befolgt, wodurch Tools von Drittanbietern, die auf SQLAlchemy-Konfigurationen aufbauen, auf zukunftssichere Weise erstellt werden können.

Objektname Beschreibung

inspect(subject[, raiseerr])

Erzeugt ein Inspektions-Objekt für das gegebene Ziel.

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

Erzeugt ein Inspektions-Objekt für das gegebene Ziel.

Der zurückgegebene Wert kann in einigen Fällen dasselbe Objekt wie das übergebene sein, z. B. wenn ein Mapper-Objekt übergeben wird. In anderen Fällen ist es eine Instanz des registrierten Inspektions-Typs für das gegebene Objekt, z. B. wenn eine Engine übergeben wird, wird ein Inspector-Objekt zurückgegeben.

Parameter:
  • subject – Das zu inspizierende Subjekt.

  • raiseerr – Wenn True, wird, wenn das gegebene Subjekt keinem bekannten, von SQLAlchemy inspizierbaren Typ entspricht, sqlalchemy.exc.NoInspectionAvailable ausgelöst. Wenn False, wird None zurückgegeben.

Verfügbare Inspektionsziele

Unten ist eine Liste vieler der gängigsten Inspektionsziele aufgeführt.