我已经阅读了文档,但我似乎无法理解如何正确配置我的模型。这是一个非常简单的电视节目数据库,我想配置它,以便剧集必须在数据库中存在相应的Show父实例。每当删除一个节目时,我都想要将其所有剧集级联删除。
TL; DR:show.delete() - > ep.show_id == show.id被删除的所有剧集ep
我如何做到这一点?
class Show(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(128), nullable=False)
class Episode(db.Model):
id = db.Column(db.Integer, primary_key=True)
title = db.Column(db.String(256), nullable=False)
# relationships
show_id = db.Column(db.Integer, db.ForeignKey('show.id'), nullable=False)
show = db.relationship('Show',
backref=db.backref('episodes'),
lazy='joined')
答案 0 :(得分:8)
使用cascades:
show = db.relationship('Show',
backref=db.backref('episodes', cascade="all, delete-orphan"),
lazy='joined')