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
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)
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')
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'))
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')
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!