Django中的级联更新和删除

2 投票
1 回答
2876 浏览
提问于 2025-04-17 01:21

我找不到在模型 API 中进行级联更新或删除的选项。我在想是否有手册可以帮助我在同步数据库时使用这个数据库选项。

有没有什么想法?

1 个回答

1

看看这个ForeignKey的文档。里面说:

当一个被ForeignKey引用的对象被删除时,Django默认会模拟SQL中的“级联删除”行为,也就是会把包含这个ForeignKey的对象也删除掉。你可以通过指定on_delete参数来改变这种行为。

所以,默认情况下是会级联删除的,但你可以通过指定一些其他选项来改变这一点,比如这样:

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

撰写回答