Django数据模型on_delete属性值

  1. CASCADE
    • 级联删除。当关联对象被删除时,当前对象也会被删除。
    • 这是Django的默认行为(在需要显式声明on_delete之前的版本中)。
  2. PROTECT
    • 保护模式。当尝试删除关联对象时,如果当前对象存在外键引用,则抛出 ProtectedError 异常,阻止删除。
    • 这有助于防止意外删除有依赖关系的对象。
  3. SET_NULL
    • 设置为空。当关联对象被删除时,将当前对象的外键字段设置为 None(即空值)。
    • 要求外键字段允许为空(即 null=True)。
  4. SET_DEFAULT
    • 设置为默认值。当关联对象被删除时,将当前对象的外键字段设置为一个默认值。
    • 要求外键字段有默认值设置(即 default=...)。
  5. SET(...)
    • 自定义设置。允许指定一个值或可调用对象,当关联对象被删除时,将当前对象的外键字段设置为该值或可调用对象的返回值。
    • 如果指定的是可调用对象,它应该在删除发生时被调用,并返回一个适当的值。
  6. DO_NOTHING
    • 不采取任何操作。当关联对象被删除时,Django不会对当前对象的外键字段进行任何操作。
    • 这可能导致数据库完整性错误,如果数据库层面没有相应的外键约束来防止孤立记录的话。
相关推荐
一只鹿鹿鹿1 分钟前
智慧能源大数据平台建设方案(PPT)
java·大数据·数据库·能源
时序数据说22 分钟前
IoTDB 分段查询语句深度剖析:GROUP BY 与时序语义的完美结合
大数据·数据库·开源·时序数据库·iotdb
luo_guibin26 分钟前
DVWA在线靶场-SQL注入部分
数据库·sql·mysql
Bing@DBA42 分钟前
Oracle 19c 静默安装
数据库·oracle
IvorySQL1 小时前
探索表访问方法功能:顺序扫描分析
数据库·postgresql·开源数据库
深井冰水1 小时前
mac M2下虚拟机CentOS 8 安装上安装 Berkeley DB
数据库·macos·centos
Clockwiseee1 小时前
RCE联系
数据库·redis·缓存·web
码熔burning1 小时前
MySQL 分页查询优化
数据库·mysql
添砖Java中1 小时前
深入剖析缓存与数据库一致性:Java技术视角下的解决方案与实践
java·数据库·spring boot·spring·缓存·双写一致性
myusa22 小时前
使用阿里云CLI跨地域迁移ECS实例
数据库·阿里云·php