要设置一个表中两个字段作为另外一张表的外键,你可以使用Flask-SQLAlchemy的ForeignKeyrelationship。下面是一个示例,假设你有两个表UserRoleUser表有两个字段role_idmanager_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_idmanager_id字段都定义为db.ForeignKey('role.id'),它们分别是Role表的外键。然后,通过db.relationship方法,你可以在User表中定义rolemanager属性,它们表示与Role表的关联关系,并使用foreign_keys参数指定相应的外键字段。

这样,你就可以在Flask应用中使用这些模型类来操作数据库了

flask Flask-SQLAlchemy 一个表中两个的字段是另外一张表的外键。如何设置

原文地址: https://www.cveoy.top/t/topic/iq2V 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录