【发布时间】:2020-04-21 23:12:29
【问题描述】:
我的 Flask-SqlAlchemy 设置中有两个表 Products 和 Orders,它们是链接在一起的,因此一个订单可以包含多个产品:
class Products(db.Model):
id = db.Column(db.Integer, primary_key=True)
....
class Orders(db.Model):
guid = db.Column(db.String(36), default=generate_uuid, primary_key=True)
products = db.relationship(
"Products", secondary=order_products_table, backref="orders")
....
链接方式:
order_products_table = db.Table("order_products_table",
db.Column('orders_guid', db.String(36), db.ForeignKey('orders.guid')),
db.Column('products_id', db.Integer, db.ForeignKey('products.id'))
# db.Column('license', dbString(36))
)
就我而言,订单中的每个产品都会收到一个唯一的许可证字符串,逻辑上应该将其添加到订单中每个产品的order_products_table 行中。
如何在连接表order_products_table 上声明第三个license 列,以便在我插入订单时填充它?
【问题讨论】:
标签: python flask sqlalchemy many-to-many flask-sqlalchemy