级联删除
django中外键小常识
外键关联的是一个对象,自己主动生成的外键名称会在关联的对象的名称后面加上‘_id’来作为字段名称
默认情况下,外键会自己主动创建索引,会自己主动做级联删除,默认的外键是字段是那张表的主键
关于ForeignKey.on_delete的几个选项
SET_NULL当外键的字段被删除的时候设置为null前提是指定了null=True
CASCADE 默认的选项,当外键关联的字段删除的时候。全部其它表级联删除
ET_DEFAULT 设置一个默认值,当关联的记录删除的时候恢复成默认值
DO_NOTHING django不做不论什么事情。数据库返回什么就报什么
SET 还能够set一个函数,当关联记录删除的时候触发得到一个值
Protect:删除ForeignKey关联对象时会生成一个ProtectedError,这样ForeignKey关联对象就不会被删除了