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不会对当前对象的外键字段进行任何操作。
    • 这可能导致数据库完整性错误,如果数据库层面没有相应的外键约束来防止孤立记录的话。
相关推荐
工业互联网专业8 分钟前
Python毕业设计选题:基于大数据的旅游景区推荐系统_django
大数据·vue.js·python·django·毕业设计·源码·课程设计
floret*12 分钟前
在 hiveSQL 中判断一个字段是否包含某个值
前端·javascript·数据库
冰红茶兑滴水32 分钟前
MySQL 数据库之库操作
数据库·mysql
Fireworkitte2 小时前
MongoDB
数据库·mongodb
doll ~CJ2 小时前
SQLite的BLOB数据类型与C++二进制存储学习记录
c++·sqlite·blob·图像数据存取·bitset标准库
来一杯龙舌兰2 小时前
【MongoDB】MongoDB的聚合(Aggregate、Map Reduce)与管道(Pipline) 及索引详解(附详细案例)
数据库·mongodb·mapreduce·索引·aggregate·pipline
爱吃烤鸡翅的酸菜鱼3 小时前
MySQL初学之旅(1)配置与基础操作
java·数据库·mysql·database
三日看尽长安花6 小时前
【分布式数据库】
数据库·分布式
一 乐10 小时前
家常菜点餐|基于java和小程序的家庭大厨家常菜点餐系统设计与实现(源码+数据库+文档)
java·数据库·小程序·家庭点餐小程序·家庭家常菜点餐
小小不董10 小时前
Oracle OCP认证考试考点详解082系列08
linux·运维·服务器·数据库·oracle·dba