Kapitel 6. Schema mit SQLAlchemy ORM definieren
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Du definierst das Schema etwas anders, wenn du den SQLAlchemy ORM verwendest, weil er sich auf benutzerdefinierte Datenobjekte konzentriert und nicht auf das Schema der zugrunde liegenden Datenbank. In SQLAlchemy Core haben wir einen Metadaten-Container erstellt und dann ein Table
Objekt deklariert, das mit diesen Metadaten verbunden ist. In SQLAlchemy ORM werden wir eine Klasse definieren, die von einer speziellen Basisklasse namens declarative_base
erbt. declarative_base
kombiniert einen Metadaten-Container und einen Mapper, der unsere Klasse auf eine Datenbanktabelle abbildet. Er ordnet auch Instanzen der Klasse den Datensätzen in dieser Tabelle zu, wenn sie gespeichert wurden. Sehen wir uns an, wie wir Tabellen auf diese Weise definieren.
Definieren von Tabellen über ORM-Klassen
Eine richtige Klasse für die Verwendung mit dem ORM muss vier Dinge tun:
-
Vererbt vom
declarative_base
Objekt. -
Enthält
__tablename__
, , den Namen der Tabelle, die in der Datenbank verwendet werden soll. -
Enthält ein oder mehrere Attribute, die
Column
Objekte sind. -
Stelle sicher, dass ein oder mehrere Attribute einen Primärschlüssel bilden.
Wir müssen uns die letzten beiden attributbezogenen Anforderungen etwas genauer ansehen. Erstens ist die Definition von Spalten in einer ORM-Klasse der Definition von Spalten ...
Get Essential SQLAlchemy, 2. Auflage now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.