Créer des relations à l'aide de SQLAlchemy en Python

PHPz
Libérer: 2024-08-01 20:22:11
original
373 Les gens l'ont consulté

Creating relationships using SQLAlchemy in Python

SQLAlchemy peut vous aider dans de nombreuses tâches requises en Python lorsque vous essayez de créer des tables SQL, l'une de ces tâches consiste à créer des relations.

Créer des relations avec SQLAlchemy est beaucoup plus facile que d'utiliser uniquement SQL. Il rationalise le processus avec une syntaxe plus facile à suivre et moins d'étapes.

SQLAlchemy est importé dans Python et toute la syntaxe des raccourcis peut être utilisée.

 from flask_sqlalchemy import SQLAlchemy
Copier après la connexion

Pour créer une relation, vous devez commencer par créer un tableau. SQLAlchemy facilite également cela en raccourcissant la syntaxe à :

class Owner(db.Model, SerializerMixin):
    __tablename__ = "owners"
    id = db.Column(db.Integer, primary_key=True)
Copier après la connexion

Cela créera une table des propriétaires avec un identifiant qui est une clé primaire. Un autre code peut être utilisé pour créer les attributs de colonne pour le propriétaire. Ceux-ci aideront à connecter la relation. Une fois les colonnes créées, vous pouvez travailler sur la connexion de la table Dog que nous créerons plus tard. Le code de la relation est :

dogs = db.relationship('Dog', back_populates='owner')
Copier après la connexion

Cela relie le chien au propriétaire où un propriétaire peut avoir plusieurs chiens mais un chien a un seul propriétaire, comme le montre le dos qui est singulier.

Ensuite, vous pouvez créer la classe et la table du chien. Il peut avoir un certain nombre d'attributs de colonne. L'important pour la relation est qu'elle doit avoir un identifiant de propriétaire avec une clé étrangère. Ceci est écrit en SQLAlchemy comme :

owner_id = db.Column(db.Integer, db.ForeignKey('owners.id')) 
Copier après la connexion

Alors comme propriétaire il aura une relation. Celui-ci sera l'inverse et connectera le chien au propriétaire avec le code ci-dessous :

owner = db.relationship('Owner', back_populates= 'dogs')
Copier après la connexion

Ici, au lieu d'être un chien, ce sont des chiens, car un propriétaire peut avoir plusieurs chiens alors que le code précédent était propriétaire car un chien n'a qu'un seul propriétaire.

Maintenant, les deux tables auront une relation. Comme indiqué précédemment, cela réduit juridiquement la quantité de code requise et simplifie la syntaxe, puis doit l'écrire en SQL.

Plus de code peut être ajouté pour ajouter un proxy d'association et créer des règles de sérialisation qui aideront à une boucle infinie, mais ce qui précède créera la relation initiale beaucoup plus rapidement que sans SQLAlchemy.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!