flask Flask-SQLAlchemy 一个表中两个的字段是另外一张表的外键。如何设置
要设置一个表中两个字段作为另外一张表的外键,你可以使用Flask-SQLAlchemy的ForeignKey和relationship。下面是一个示例,假设你有两个表User和Role,User表有两个字段role_id和manager_id,它们都是Role表的外键。
首先,你需要定义User表和Role表的模型类:
from flask_sqlalchemy import SQLAlchemy
db = SQLAlchemy()
class User(db.Model):
__tablename__ = 'user'
id = db.Column(db.Integer, primary_key=True)
role_id = db.Column(db.Integer, db.ForeignKey('role.id'))
manager_id = db.Column(db.Integer, db.ForeignKey('role.id'))
role = db.relationship('Role', foreign_keys=[role_id])
manager = db.relationship('Role', foreign_keys=[manager_id])
class Role(db.Model):
__tablename__ = 'role'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(100))
在User表中,role_id和manager_id字段都定义为db.ForeignKey('role.id'),它们分别是Role表的外键。然后,通过db.relationship方法,你可以在User表中定义role和manager属性,它们表示与Role表的关联关系,并使用foreign_keys参数指定相应的外键字段。
这样,你就可以在Flask应用中使用这些模型类来操作数据库了
原文地址: https://www.cveoy.top/t/topic/iq2V 著作权归作者所有。请勿转载和采集!