Django DB 外键 on_delete=CASCADE 与 null=True 组合

问题描述 投票:0回答:1

如果 Django 模型同时包含 - on_delete=CASCADEnull=True:

会发生什么
class MyModel(models.Model):
    ID = models.AutoField(primary_key=True)
    SomeInfo = models.BooleanField(default=False)
    SomeInfo2 = models.BooleanField(default=False)
    ID_FK1 = models.ForeignKey(OtherModel1, on_delete=models.CASCADE, null=True)
    ID_FK2 = models.ForeignKey(OtherModel2, on_delete=models.CASCADE, null=True)

我在 MyModel 的数据库中看到 ID_FK2 为 NULL 的条目,这是不应该发生的。

mysql django django-models
1个回答
0
投票

正是文档所说的

null=True
表示这些值可以插入或更新为空值。级联删除描述了关联对象被删除时的行为。

© www.soinside.com 2019 - 2024. All rights reserved.