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不会对当前对象的外键字段进行任何操作。
    • 这可能导致数据库完整性错误,如果数据库层面没有相应的外键约束来防止孤立记录的话。
相关推荐
远歌已逝43 分钟前
维护在线重做日志(二)
数据库·oracle
qq_433099402 小时前
Ubuntu20.04从零安装IsaacSim/IsaacLab
数据库
Dlwyz2 小时前
redis-击穿、穿透、雪崩
数据库·redis·缓存
工业甲酰苯胺4 小时前
Redis性能优化的18招
数据库·redis·性能优化
没书读了5 小时前
ssm框架-spring-spring声明式事务
java·数据库·spring
i道i5 小时前
MySQL win安装 和 pymysql使用示例
数据库·mysql
小怪兽ysl5 小时前
【PostgreSQL使用pg_filedump工具解析数据文件以恢复数据】
数据库·postgresql
wqq_9922502776 小时前
springboot基于微信小程序的食堂预约点餐系统
数据库·微信小程序·小程序
爱上口袋的天空6 小时前
09 - Clickhouse的SQL操作
数据库·sql·clickhouse
聂 可 以7 小时前
Windows环境安装MongoDB
数据库·mongodb