Erstellen von Beziehungen mit SQLAlchemy in Python

PHPz
Freigeben: 2024-08-01 20:22:11
Original
438 Leute haben es durchsucht

Creating relationships using SQLAlchemy in Python

SQLAlchemy kann bei vielen Aufgaben helfen, die in Python erforderlich sind, wenn Sie versuchen, SQL-Tabellen zu erstellen. Eine dieser Aufgaben ist das Erstellen von Beziehungen.

Das Erstellen von Beziehungen ist mit SQLAlchemy viel einfacher als mit nur SQL. Es rationalisiert den Prozess durch eine einfacher zu befolgende Syntax und weniger Schritte.

SQLAlchemy wird in Python importiert und die gesamte Abkürzungssyntax kann verwendet werden.

 from flask_sqlalchemy import SQLAlchemy
Nach dem Login kopieren

Um eine Beziehung zu erstellen, müssen Sie zunächst eine Tabelle erstellen. SQLAlchemy macht dies ebenfalls einfach, indem es die Syntax auf

verkürzt
class Owner(db.Model, SerializerMixin):
    __tablename__ = "owners"
    id = db.Column(db.Integer, primary_key=True)
Nach dem Login kopieren

Dadurch wird eine Eigentümertabelle mit einer ID erstellt, die ein Primärschlüssel ist. Zum Erstellen der Spaltenattribute für den Eigentümer kann anderer Code verwendet werden. Diese werden dabei helfen, die Beziehung zu verbinden. Sobald die Spalten erstellt sind, können Sie an der Verknüpfung der Dog-Tabelle arbeiten, die wir später erstellen werden. Der Code für die Beziehung lautet:

dogs = db.relationship('Dog', back_populates='owner')
Nach dem Login kopieren

Dies verbindet Hund und Besitzer, wobei ein Besitzer viele Hunde haben kann, ein Hund jedoch nur einen Besitzer hat, was daran zu erkennen ist, dass die hinteren Populationen singulär sind.

Dann können Sie die Hundeklasse und die Tabelle erstellen. Es kann eine Reihe von Spaltenattributen haben. Wichtig für die Beziehung ist, dass sie eine Besitzer-ID mit einem Fremdschlüssel haben sollte. Dies wird in SQLAlchemy wie folgt geschrieben:

owner_id = db.Column(db.Integer, db.ForeignKey('owners.id')) 
Nach dem Login kopieren

Dann wird es wie der Besitzer eine Beziehung haben. Dies ist das Gegenteil und verbindet den Hund mit dem Besitzer mit dem folgenden Code:

owner = db.relationship('Owner', back_populates= 'dogs')
Nach dem Login kopieren

Hier werden nicht wieder „Hunde“ aufgeführt, sondern „Hunde“, da ein Besitzer viele Hunde haben kann, während der vorherige Code „Eigentümer“ lautete, da ein Hund nur einen Besitzer hat.

Jetzt haben die beiden Tabellen eine Beziehung. Wie bereits erwähnt, verringert dies juristisch gesehen die erforderliche Codemenge und vereinfacht die Syntax, anstatt sie in SQL schreiben zu müssen.

Es kann mehr Code hinzugefügt werden, um einen Assoziations-Proxy hinzuzufügen und Serialisierungsregeln zu erstellen, die eine Endlosschleife unterstützen, aber mit dem oben Gesagten wird die anfängliche Beziehung viel schneller erstellt als ohne SQLAlchemy.

Das obige ist der detaillierte Inhalt vonErstellen von Beziehungen mit SQLAlchemy in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage