CASCADE:- 级联删除。当关联对象被删除时,当前对象也会被删除。
- 这是Django的默认行为(在需要显式声明
on_delete之前的版本中)。
PROTECT:- 保护模式。当尝试删除关联对象时,如果当前对象存在外键引用,则抛出
ProtectedError异常,阻止删除。 - 这有助于防止意外删除有依赖关系的对象。
- 保护模式。当尝试删除关联对象时,如果当前对象存在外键引用,则抛出
SET_NULL:- 设置为空。当关联对象被删除时,将当前对象的外键字段设置为
None(即空值)。 - 要求外键字段允许为空(即
null=True)。
- 设置为空。当关联对象被删除时,将当前对象的外键字段设置为
SET_DEFAULT:- 设置为默认值。当关联对象被删除时,将当前对象的外键字段设置为一个默认值。
- 要求外键字段有默认值设置(即
default=...)。
SET(...):- 自定义设置。允许指定一个值或可调用对象,当关联对象被删除时,将当前对象的外键字段设置为该值或可调用对象的返回值。
- 如果指定的是可调用对象,它应该在删除发生时被调用,并返回一个适当的值。
DO_NOTHING:- 不采取任何操作。当关联对象被删除时,Django不会对当前对象的外键字段进行任何操作。
- 这可能导致数据库完整性错误,如果数据库层面没有相应的外键约束来防止孤立记录的话。
Django数据模型on_delete属性值
啧不应该啊2024-11-05 0:36
相关推荐
数据库小学妹11 小时前
国产数据库怎么选?兼容、迁移、核心案例与融合架构四道关IvorySQL12 小时前
PostgreSQL 日报| PgBouncer 修复三个 CVE 漏洞(10 月 15 日)饺子大魔王的男人12 小时前
后台表格、查询、流程总在重复写?我用ToolJet把PostgreSQL直接做成可远程访问的业务系统Gauss松鼠会12 小时前
高斯数据库(openGauss)的物理存储结构杨云龙UP13 小时前
PostgreSQL 18.4 数据库整库迁移实战:pg_dump 备份与 pg_restore 恢复完整操作手册AOI小白新手上路13 小时前
autodl常用的tar 打包下载(数据集)命令手册:逐段拆解与套用模板凯歌的博客14 小时前
DuckDB 是一款进程内的分析型数据库dishugj14 小时前
Oracle物理体系结构北亚数据恢复14 小时前
【数据库数据恢复】NDF文件变0KB、数据库损坏?超大数据库数据恢复案例