我有一组由以下定义的模型:
from app import db
class SKU(db.Model):
__tablename__ = 'sku'
id = db.Column(db.Integer, primary_key=True)
sku_store_sales = db.relationship('SKUStoreSales', cascade='all, delete')
class Store(db.Model):
__tablename__ = 'sku'
id = db.Column(db.Integer, primary_key=True)
sku_store_sales = db.relationship('SKUStoreSales', cascade='all, delete')
class SKUStoreSales(db.Model):
__tablename__ = 'sku_store_sales'
id = db.Column(db.Integer, primary_key=True)
sku_id = db.Column(db.Integer, db.ForeignKey('sku.id'))
store_id = db.Column(db.Integer, db.ForeignKey('store.id'))
quantity = db.Column(db.Integer, nullable=False)
但是,当我尝试删除 SKU
对象时,出现以下错误:
The DELETE statement conflicted with the REFERENCE constraint "FK__sku_store__sku_i__01D345B0".
The conflict occurred in database "TEST", table "dbo.sku_store_sales", column 'sku_id'.
请问我哪里出错了?我认为通过在 cascade='all, delete'
和 sku
表中添加 store
可以解决这个问题。