Django ORM的外键ForeignKey中的on_delete的参数解析
以两个模型类为例,一个是老师类,一个是学生类,学生类通过外键关联老师类,实现一(老师)对多(学生)的关联。
class Teachers(models.Model):"""老师类"""name = models.CharField(max_length=10)class Students(models.Model):"""学生类"""name = models.CharField(max_length=10)teacher = models.ForeignKey(Teachers, on_delete=models.CASCADE)
on_delete有6个可选值,分别是:
- CASCADE 删除级联,当父表的记录删除时,子表中与其相关联的记录也会删除。即:当一个老师被删除时,关联该老师的学生也会被删除。
- PROTECT 子表记录所关联的父表记录被删除时,会报ProtectedError异常。即:当一个学生所关联的老师被删除时,会报ProtectedError异常。
- SET_NULL 子表记录所关联的父表记录被删除时,将子表记录中的关联字段设为NULL,注意:需要允许数据表的该字段为NULL。
- SET_DEFAULT 子表记录所关联的父表记录被删除时,将子表记录中的关联字段设为一个给定的默认值。
- DO_NOTHING 子表记录所关联的父表记录被删除时,什么也不做。
- SET() 设置为一个传递给SET()的值或者一个回调函数的返回值,该参数用得相对较少。
Django ORM的外键ForeignKey中的on_delete的参数解析相关推荐
- SQLAlchemy的使用---外键ForeignKey数据库创建与连接
SQLAlchemy的使用---外键ForeignKey数据库创建与连接 # 一对多建表操作 from sqlalchemy.ext.declarative import declarative_ba ...
- 删除 索引 外键 mysql_MySQL无法删除外键约束中所需的索引
MySQL无法删除外键约束中所需的索引 我需要更改现有数据库以添加列. 因此,我还想更新UNIQUE字段以包含该新列. 我试图删除当前索引但仍然收到错误MySQL Cannot drop index ...
- MySQL外键设置中的的nbsp;Cascad…
原文地址:MySQL外键设置中的的 Cascade.NO ACTION.Restrict.SET NULL 作者:守拙 . cascade方式 在父表上update/delete记录时,同步updat ...
- Django ORM查询之外键、关系的反向引用
关系本身就是相互的,只用在一个表中记录,而不是在有关系的两个表中都记录.所以外键.关系提供反向引用机制.当然,外键可以是多个表的外键,关系也可以与多个表有关系,所以反向引用必须显式指出关系对方表(然后 ...
- Django笔记六之外键ForeignKey介绍
这一篇笔记介绍 Django 系统 model 的外键处理,ForeignKey 以及相应的处理方法. 这是一种一对多的字段类型,表示两张表之间的关联关系. 本篇笔记的目录如下: on_delete ...
- Python sqlalchemy orm 多外键关联
多外键关联 注:在两个表之间进行多外键链接 如图: 案例: # 创建两张表并添加外键主键 # 调用Column创建字段 加类型 from sqlalchemy import Integer, For ...
- mysql支持UUID做外键_Mysql中以uuid为外键插入多条数据,怎样实现同一个二级分类外键关联的数据为同一个uuid的值...
打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上32313133353236313431303231363533e4b893e5b19e31333431366237的'd ...
- oracle 列级外键,Oracle 中的外键与锁
文章目录算是接上篇吧... 内容主要来自 Oracle 官方文档,自己重新画了下图.图中配色来自大神 draveness 的文章,小清新的配色真是美美哒.看来我在学画图的路上还要修炼很久啊..... ...
- mysql查询某张表的所有外键_oracle中查询所有外键引用到某张表的记录
欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 oracle中查询所有外键引用到某张表的记录 //查询表的主键约束名 select * from user_constr ...
最新文章
- nginx介绍及常用功能
- “CCF传播大使”招募公告,期待你的加入!
- vs2008 添加头文件路径
- 基于DispatchProxy打造自定义AOP组件
- IE9 Preview 4的CSS3支持。
- dpkg: error processing package oracle-java8-installer (--configure):
- lsb_release -a 查询Linux系统版本
- zabbix 安装和基础监控
- opencv继承配库
- 小米球Ngrok-使用方法
- 微型四轴飞行器(3)嵌入式软件设计
- AI足球预测软件|足球大数据预测分析爬虫
- windows下编译Sqlite-3.38.0及使用(存储json)
- html个人简介个人主页网页源码期末大作业0011
- 商用机器人底盘的秘密
- 在vs2019上配置opencv,百分百成功
- 高品质回音消除,噪音抑制语音处理芯片—ATH8806
- vue3中ref的理解
- vue项目+el-tree,树结构展示,非常完整的代码,包含调接口拿真实数据渲染
- 4.2.1 模糊理论