Django通过外键级联更新

时间:2017-07-06 11:11:45

标签: django

我有五个型号,每个型号都有一个is_delete字段 如果我在父模型中设置它,那么为每个子模型设置此属性is_delete的正确方法是什么?
我知道Django具有ON_CASCADE方法的DELETE属性字段。 但对UPDATE有相同的方法吗?
我知道signals但可能是另一种方式?
非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以为模型添加自己的方法。

我还没有对此进行测试,但它看起来像这样:

class FooModel(models.Model):

    ...

    def alt_delete(self):
        for e in self.tracking_entries:
            e.alt_delete()
        self.is_delete = True
        self.save()

class BarModel(models.Model):

    ...
    foo = models.ForeignKey(FooModel, related_name="tracking_entries")

    def alt_delete(self):
        self.is_delete = True
        self.save()