【问题标题】:How can I get cascade deletion for ManyToManyFields? [duplicate]如何获得 ManyToManyFields 的级联删除? [复制]
【发布时间】:2013-03-06 09:18:11
【问题描述】:

我有一个模型,其中有两个 ManyToManyFields 引用一个 Position 模型。当一个 Position 实例被删除时,我希望在管理员中具有与 ForeignKey 相同的行为,即级联删除 + 一条消息,要求确认将被删除的对象列表。

我该怎么做?

class Task(models.Model):    
    start_positions = models.ManyToManyField(Position, related_name='start_pos')
    end_positions = models.ManyToManyField(Position, related_name='end_pos')
    # more stuff

编辑

我知道这个问题:Django - Cascade deletion in ManyToManyRelation,但它没有正确的答案。

【问题讨论】:

    标签: django cascade manytomanyfield


    【解决方案1】:
    class Task(models.Model):    
        start_positions = models.ManyToManyField(
            Position, 
            related_name='start_pos', 
            on_delete=models.CASCADE
            )
        end_positions = models.ManyToManyField(
            Position, 
            related_name='end_pos', 
            on_delete=models.CASCADE
            )
    

    【讨论】:

    • ManyToManyField 没有“on_delete”参数。
    • 好的,会尝试修复它
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-12-18
    • 2022-01-16
    • 2019-11-24
    • 1970-01-01
    • 1970-01-01
    • 2015-04-24
    • 2017-11-17
    相关资源
    最近更新 更多