Внешний ключ Django DB on_delete=CASCADE в сочетании с null=True

Что произойдет, если модель Django будет содержать и on_delete=CASCADE и null=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)

Я вижу записи в DB MyModel с ID_FK2, равным NULL, чего не должно быть.

Именно то, что говорится в документации говорит. null=True означает, что эти значения могут быть вставлены или обновлены до нулевых значений. Каскадное удаление описывает поведение при удалении связанных объектов.

Вернуться на верх