使用django更新和删除级联

时间:2011-09-03 19:35:49

标签: python django

我在模型api中找不到级联更新或删除的选项。我想知道是否有一个手册可以帮助我在sycning db时传递这个db选项。

任何想法?

1 个答案:

答案 0 :(得分:1)

查看ForeignKey文档。它说:

  

当删除ForeignKey引用的对象时,Django默认模拟SQL约束ON DELETE CASCADE的行为,并删除包含ForeignKey的对象。可以通过指定on_delete参数来覆盖此行为。

因此默认行为是在删除时级联,但您可以通过指定类似的内容来更改它:

class Foobar(models.Model):
    user = models.ForeignKey(User, on_delete=models.SET(User.objects.get_or_create(username="foooobarrrr")[0]))