on_delete指的是通过ForeignKey连接起来的对象被删除后,当前字段怎么变化。

常见的选项有:

  models.CASCADE,对就对象删除后,包含ForeignKey的字段也会被删除

  models.PROTECT,删除时会引起ProtectedError

  models.SET_NULL,注意只有当当前字段设置null设置为True才有效,此情况会将ForeignKey字段设置为null

  models.SET_DEFAULT ,同样,当前字段设置了default才有效,此情况会将ForeignKey 字段设置为default 值

  moels.SET,此时需要指定set的值

  models.DO_NOTHING ,什么也不做