SQLAlchemy 2.0 Dokumentation
SQLAlchemy ORM
- ORM Schnellstart
- ORM Abgebildete Klassenkonfiguration
- Beziehungskonfiguration
- ORM Abfragehandbuch
- Verwendung der Sitzung
- Ereignisse und Interna
- ORM Erweiterungen
- Asynchrone E/A (asyncio)
- Assoziationsproxy
- Automap
- Baked Queries
- Deklarative Erweiterungen
- Mypy / Pep-484 Unterstützung für ORM-Mappings
- Mutationsverfolgung
- Sortierungsliste
- Horizontale Sharding
- Hybrid-Attribute
- Indexierbar
- Alternate Class Instrumentation¶
- API-Referenz
INSTRUMENTATION_MANAGERInstrumentationFactoryInstrumentationManagerInstrumentationManager.dict_getter()InstrumentationManager.get_instance_dict()InstrumentationManager.initialize_instance_dict()InstrumentationManager.install_descriptor()InstrumentationManager.install_member()InstrumentationManager.install_state()InstrumentationManager.instrument_attribute()InstrumentationManager.instrument_collection_class()InstrumentationManager.manage()InstrumentationManager.manager_getter()InstrumentationManager.post_configure_attribute()InstrumentationManager.remove_state()InstrumentationManager.state_getter()InstrumentationManager.uninstall_descriptor()InstrumentationManager.uninstall_member()InstrumentationManager.unregister()
instrumentation_findersExtendedInstrumentationRegistry
- API-Referenz
- ORM Beispiele
Projektversionen
- Vorheriges: Indexable
- Nächstes: ORM Beispiele
- Oben: Startseite
- Auf dieser Seite
- Alternative Klassen-Instrumentierung
- API-Referenz
INSTRUMENTATION_MANAGERInstrumentationFactoryInstrumentationManagerInstrumentationManager.dict_getter()InstrumentationManager.get_instance_dict()InstrumentationManager.initialize_instance_dict()InstrumentationManager.install_descriptor()InstrumentationManager.install_member()InstrumentationManager.install_state()InstrumentationManager.instrument_attribute()InstrumentationManager.instrument_collection_class()InstrumentationManager.manage()InstrumentationManager.manager_getter()InstrumentationManager.post_configure_attribute()InstrumentationManager.remove_state()InstrumentationManager.state_getter()InstrumentationManager.uninstall_descriptor()InstrumentationManager.uninstall_member()InstrumentationManager.unregister()
instrumentation_findersExtendedInstrumentationRegistry
- API-Referenz
Alternate Class Instrumentation¶
Erweiterbare Klasseninstrumentierung.
Das Paket sqlalchemy.ext.instrumentation bietet alternative Systeme zur Klasseninstrumentierung innerhalb des ORM. Klasseninstrumentierung bezieht sich darauf, wie das ORM Attribute auf der Klasse platziert, die Daten pflegen und Änderungen an diesen Daten verfolgen, sowie auf Ereignishaken, die auf der Klasse installiert sind.
Hinweis
Das Erweiterungspaket wird zum Vorteil der Integration mit anderen Objektverwaltungspaketen bereitgestellt, die bereits ihre eigene Instrumentierung durchführen. Es ist nicht für den allgemeinen Gebrauch bestimmt.
Beispiele für die Verwendung der Instrumentierungserweiterung finden Sie im Beispiel Attributinstrumentierung.
API-Referenz¶
| Objektname | Beschreibung |
|---|---|
Erweitert |
|
Eine erweiterbare Sequenz von aufrufbaren Objekten, die Instrumentierungsimplementierungen zurückgeben. |
|
Attribut, wählt benutzerdefinierte Instrumentierung, wenn sie auf einer zugeordneten Klasse vorhanden ist. |
|
Factory für neue ClassManager-Instanzen. |
|
Benutzerdefinierte Klasseninstrumentierungserweiterung. |
- sqlalchemy.ext.instrumentation.INSTRUMENTATION_MANAGER = '__sa_instrumentation_manager__'¶
Attribut, wählt benutzerdefinierte Instrumentierung, wenn sie auf einer zugeordneten Klasse vorhanden ist.
Ermöglicht einer Klasse, eine leicht oder stark abweichende Technik zur Verfolgung von Änderungen an zugeordneten Attributen und Sammlungen anzugeben.
Nur eine Instrumentierungsimplementierung ist in einer gegebenen Objektvererbungshierarchie zulässig.
Der Wert dieses Attributs muss aufrufbar sein und erhält ein Klassenobjekt übergeben. Der Aufrufbare muss eines der folgenden zurückgeben:
Eine Instanz eines
InstrumentationManageroder einer UnterklasseEin Objekt, das alle oder einige der InstrumentationManager implementiert (TODO)
Ein Wörterbuch mit aufrufbaren Objekten, die alle oder einige der oben genannten implementieren (TODO)
Eine Instanz eines
ClassManageroder einer Unterklasse
Dieses Attribut wird von der SQLAlchemy-Instrumentierungsauflösung konsultiert, sobald das Modul
sqlalchemy.ext.instrumentationimportiert wurde. Wenn benutzerdefinierte Finder in der globalen Liste instrumentation_finders installiert sind, entscheiden diese möglicherweise, ob dieses Attribut beachtet werden soll oder nicht.
- class sqlalchemy.orm.instrumentation.InstrumentationFactory¶
Factory für neue ClassManager-Instanzen.
Klassensignatur
class
sqlalchemy.orm.instrumentation.InstrumentationFactory(sqlalchemy.event.registry.EventTarget)
- class sqlalchemy.ext.instrumentation.InstrumentationManager¶
Benutzerdefinierte Klasseninstrumentierungserweiterung.
InstrumentationManagerkann unterklasifiziert werden, um zu ändern, wie die Klasseninstrumentierung fortgesetzt wird. Diese Klasse existiert für die Integration mit anderen Objektverwaltungswerkzeugen, die die Instrumentierungsmethodik des ORM vollständig ändern möchten, und ist nicht für den regelmäßigen Gebrauch bestimmt. Für die Abfangung von Klasseninstrumentierungsereignissen sieheInstrumentationEvents.Mitglieder
dict_getter(), get_instance_dict(), initialize_instance_dict(), install_descriptor(), install_member(), install_state(), instrument_attribute(), instrument_collection_class(), manage(), manager_getter(), post_configure_attribute(), remove_state(), state_getter(), uninstall_descriptor(), uninstall_member(), unregister()
Die API dieser Klasse sollte als halb stabil betrachtet werden und kann sich mit neuen Versionen leicht ändern.
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.dict_getter(class_)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.get_instance_dict(class_, instance)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.initialize_instance_dict(class_, instance)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.install_descriptor(class_, key, inst)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.install_member(class_, key, implementation)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.install_state(class_, instance, state)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.instrument_attribute(class_, key, inst)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.instrument_collection_class(class_, key, collection_class)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.manage(class_, manager)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.manager_getter(class_)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.post_configure_attribute(class_, key, inst)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.remove_state(class_, instance)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.state_getter(class_)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.uninstall_descriptor(class_, key)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.uninstall_member(class_, key)¶
-
method
sqlalchemy.ext.instrumentation.InstrumentationManager.unregister(class_, manager)¶
-
method
- sqlalchemy.ext.instrumentation.instrumentation_finders = [<function find_native_user_instrumentation_hook>]¶
Eine erweiterbare Sequenz von aufrufbaren Objekten, die Instrumentierungsimplementierungen zurückgeben.
Wenn eine Klasse registriert wird, erhält jeder Aufrufbare ein Klassenobjekt übergeben. Wenn None zurückgegeben wird, wird der nächste Finder in der Sequenz konsultiert. Andernfalls muss die Rückgabe eine Instrumentierungsfactory sein, die den gleichen Richtlinien wie sqlalchemy.ext.instrumentation.INSTRUMENTATION_MANAGER folgt.
Standardmäßig ist der einzige Finder find_native_user_instrumentation_hook, der nach INSTRUMENTATION_MANAGER sucht. Wenn alle Finder None zurückgeben, wird die Standard-ClassManager-Instrumentierung verwendet.
- class sqlalchemy.ext.instrumentation.ExtendedInstrumentationRegistry¶
Erweitert
InstrumentationFactorymit zusätzlicher Buchführung, um mehrere Arten von Klassenmanagern zu unterstützen.
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