如何在Flask-SQL炼金术中设置ManyToOne关系



我是Flask和SQLalchmey的新手。我正在尝试将两张表装箱,并在它们之间建立manytoone关系。

以下是我所做的。

table_hub

class Hub(db.Model):
__tablename__ = 'hub'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(),nullable=False,unique=True)

tbl_vehicle

class vehileMaster(db.Model):
__tablename__ = 'res.vehicle'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False)
hub_id = db.Column(db.Integer,db.ForeignKey('hub.id'))
hub = db.relationship('Hub')

以下是我需要实现的目标,

  1. 在表res.vehicle中创建新车时,我需要从轮毂列表中选择一个轮毂

我不知道我已经做的是否正确。

实现外键关系的标准方法是:

class Hub(db.Model):
__tablename__ = 'hub'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String(), nullable=False,unique=True)
vehicles = db.relationship('res.vehicle', backref='hub', lazy=True)

class vehicleMaster(db.Model):
__tablename__ = 'res.vehicle'
id = db.Column(db.Integer, primary_key=True)
name = db.Column(db.String, nullable=False)
hub_id = db.Column(db.Integer, db.ForeignKey('hub.id'))

最新更新