SQLAlchemy 2.0 Dokumentation
- Vorherige: Events
- Nächste: Core Exceptions
- Nach oben: Startseite
- Auf dieser Seite
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 eineEngineübergeben wird, wird einInspector-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.NoInspectionAvailableausgelöst. WennFalse, wirdNonezurückgegeben.
Verfügbare Inspektionsziele¶
Unten ist eine Liste vieler der gängigsten Inspektionsziele aufgeführt.
Connectable(d. h.Engine,Connection) - gibt einInspector-Objekt zurück.ClauseElement- alle SQL-Ausdruckskomponenten, einschließlichTableundColumn, dienen als ihre eigenen Inspektions-Objekte, d. h. alle diese Objekte, die aninspect()übergeben werden, geben sich selbst zurück.object- ein übergebenes Objekt wird vom ORM auf eine Zuordnung geprüft - wenn ja, wird einInstanceStatezurückgegeben, das den zugeordneten Zustand des Objekts repräsentiert. DerInstanceStatebietet auch Zugriff auf den pro Attribut-Zustand über dieAttributeState-Schnittstelle sowie auf den "History"-Zustand eines jeden Attributs pro Flush über dasHistory-Objekt.Siehe auch
type(d. h. eine Klasse) - eine übergebene Klasse wird vom ORM auf eine Zuordnung geprüft - wenn ja, wird einMapperfür diese Klasse zurückgegeben.Siehe auch
zugeordnetes Attribut - die Übergabe eines zugeordneten Attributs an
inspect(), z. B.inspect(MyClass.some_attribute), gibt einQueryableAttribute-Objekt zurück, das der Deskriptor ist, der mit einer zugeordneten Klasse verbunden ist. Dieser Deskriptor verweist über sein AttributQueryableAttribute.propertyauf eineMapperProperty, die normalerweise eine Instanz vonColumnPropertyoderRelationshipPropertyist.AliasedClass- gibt einAliasedInsp-Objekt zurück.
Die Designs von flambé! dem Drachen und Der Alchemist wurden von Rotem Yaari erstellt und großzügig gespendet.
Erstellt mit Sphinx 7.2.6. Dokumentation zuletzt generiert: Di 11 Mär 2025 14:40:17 EDT