Flacon De SQLAlchemy Les Relations De Clé Étrangère
Je vais avoir beaucoup de difficulté à obtenir ma tête autour de clés étrangères et les relations dans SQLAlchemy. J'ai deux tables dans ma base de données. Le premier est Request
et le second est Agent
. Chaque Request
contient un Agent
et chaque Agent
a un Request
.
class Request(db.Model):
__tablename__ = 'request'
reference = db.Column(db.String(10), primary_key=True)
applicationdate = db.Column(db.DateTime)
agent = db.ForeignKey('request.agent'),
class Agent(db.Model):
__tablename__ = 'agent'
id = db.relationship('Agent', backref='request', \
lazy='select')
name = db.Column(db.String(80))
company = db.Column(db.String(80))
address = db.Column(db.String(180))
Quand je suis en cours d'exécution db.create_all()
j'obtiens l'erreur suivante
N'a pas pu initialiser cible colonne pour ForeignKey la demande.agent' sur la table 'demandeur': table 'demande' a pas de colonne nommée "agent"
Vous devez vous connecter pour publier un commentaire.
Ont un look à la SqlAlchemy de la documentation sur les relations OneToOne. D'abord, vous devez fournir une clé primaire pour chaque Modèle. Ensuite, vous devez définir une clé étrangère qui fait référence à la Clé Primaire de l'autre modèle. Maintenant, vous pouvez définir une relation avec un backref qui permet l'accès direct au modèle.
Vous pouvez maintenant accéder à vos modèles comme ceci: