以两个模型类为例,一个是老师类,一个是学生类,学生类通过外键关联老师类,实现一(老师)对多(学生)的关联。

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的参数解析相关推荐

  1. SQLAlchemy的使用---外键ForeignKey数据库创建与连接

    SQLAlchemy的使用---外键ForeignKey数据库创建与连接 # 一对多建表操作 from sqlalchemy.ext.declarative import declarative_ba ...

  2. 删除 索引 外键 mysql_MySQL无法删除外键约束中所需的索引

    MySQL无法删除外键约束中所需的索引 我需要更改现有数据库以添加列. 因此,我还想更新UNIQUE字段以包含该新列. 我试图删除当前索引但仍然收到错误MySQL Cannot drop index ...

  3. MySQL外键设置中的的nbsp;Cascad…

    原文地址:MySQL外键设置中的的 Cascade.NO ACTION.Restrict.SET NULL 作者:守拙 . cascade方式 在父表上update/delete记录时,同步updat ...

  4. Django ORM查询之外键、关系的反向引用

    关系本身就是相互的,只用在一个表中记录,而不是在有关系的两个表中都记录.所以外键.关系提供反向引用机制.当然,外键可以是多个表的外键,关系也可以与多个表有关系,所以反向引用必须显式指出关系对方表(然后 ...

  5. Django笔记六之外键ForeignKey介绍

    这一篇笔记介绍 Django 系统 model 的外键处理,ForeignKey 以及相应的处理方法. 这是一种一对多的字段类型,表示两张表之间的关联关系. 本篇笔记的目录如下: on_delete ...

  6. Python sqlalchemy orm 多外键关联

     多外键关联 注:在两个表之间进行多外键链接 如图: 案例: # 创建两张表并添加外键主键 # 调用Column创建字段 加类型 from sqlalchemy import Integer, For ...

  7. mysql支持UUID做外键_Mysql中以uuid为外键插入多条数据,怎样实现同一个二级分类外键关联的数据为同一个uuid的值...

    打开我的navicat,然后找到我的teacher表,选中它,然后点击菜单栏上32313133353236313431303231363533e4b893e5b19e31333431366237的'd ...

  8. oracle 列级外键,Oracle 中的外键与锁

    文章目录算是接上篇吧... 内容主要来自 Oracle 官方文档,自己重新画了下图.图中配色来自大神 draveness 的文章,小清新的配色真是美美哒.看来我在学画图的路上还要修炼很久啊..... ...

  9. mysql查询某张表的所有外键_oracle中查询所有外键引用到某张表的记录

    欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 oracle中查询所有外键引用到某张表的记录 //查询表的主键约束名 select * from user_constr ...

最新文章

  1. nginx介绍及常用功能
  2. “CCF传播大使”招募公告,期待你的加入!
  3. vs2008 添加头文件路径
  4. 基于DispatchProxy打造自定义AOP组件
  5. IE9 Preview 4的CSS3支持。
  6. dpkg: error processing package oracle-java8-installer (--configure):
  7. lsb_release -a 查询Linux系统版本
  8. zabbix 安装和基础监控
  9. opencv继承配库
  10. 小米球Ngrok-使用方法
  11. 微型四轴飞行器(3)嵌入式软件设计
  12. AI足球预测软件|足球大数据预测分析爬虫
  13. windows下编译Sqlite-3.38.0及使用(存储json)
  14. html个人简介个人主页网页源码期末大作业0011
  15. 商用机器人底盘的秘密
  16. 在vs2019上配置opencv,百分百成功
  17. 高品质回音消除,噪音抑制语音处理芯片—ATH8806
  18. vue3中ref的理解
  19. vue项目+el-tree,树结构展示,非常完整的代码,包含调接口拿真实数据渲染
  20. 4.2.1 模糊理论

热门文章

  1. 服务器装系统不能建c盘,如何解决无法在C盘安装win7系统问题
  2. 4、Ubuntu20常用操作_文本编辑文件系统目录和文件操作用户管理和文件权限
  3. micro api入门
  4. JavaScript中innerHTML与innerText的区别
  5. 【菜鸟技巧】Excel 2007繁简转换的功能
  6. 收藏!一文掌握智能体协同创新实验室解决方案架构以及搭建流程
  7. Google Earth Engine(GEE)——Landsat SR影像去云函数
  8. EasyExcel详解-写Excel
  9. ActiveX 控件开发学习笔记1
  10. 算法实践:林克的背包 (动态规划)