gpt4 book ai didi

python - SQLAlchemy关系级联删除

转载 作者:太空狗 更新时间:2023-10-30 00:50:37 24 4
gpt4 key购买 nike

我已经阅读了文档,但我似乎仍然无法准确理解如何正确配置我的模型。这是一个非常简单的电视节目数据库,我想对其进行配置,以便剧集必须具有相应的 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')

最佳答案

使用cascades :

    show = db.relationship('Show',
backref=db.backref('episodes', cascade="all, delete-orphan"),
lazy='joined')

关于python - SQLAlchemy关系级联删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19756332/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com