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.