django orm级联_Django ORM 级联删除
在一对多关系中,例如主机对应多个role,每个role对应1个主机,
当删除了某个主机时候,发现对应的role也被删除了,于是查了手册,应该如下写:
class Host(models.Model):
hostname = models.CharField(max_length=20,primary_key=True, blank=False)
static_ip = models.CharField(max_length=20,unique = True)
class CCRole(models.Model):
name = models.CharField(max_length = 20,primary_key = True)
host = models.ForeignKey(Host,null=True,blank=True,on_delete=models.SET_NULL)
给ForeignKey增加属性,
on_delete=models.SET_NULL
即可。
该属性还有其他值可选:
CASCADE: 默认的,级联删除
PROTECT: 通过抛出django.db.models.ProtectedErrordjango.db.models.ProtectedError错误来阻止删除关联的对象
SET_NULL: 设置ForeignKey 为 null; 这个只有设置了null 为 True的情况才能用
SET_DEFAULT: 设置 ForeignKey 为默认值; 默认值必须预先设置
SET(): 设置为某个方法返回的值
DO_NOTHING: 什么都不做,如果数据库设置必须关联则会报IntegrityError错
django orm级联_Django ORM 级联删除相关推荐
- mysql django构架图_Django框架之数据库ORM框架
首先,我来介绍一下什么是ORM框架: O是object,也就类对象的意思,R是relation,翻译成中文是关系,也就是关系数据库中数据表的意思,M是mapping,是映射的意思.在ORM框架中,它帮 ...
- Django的核心思想ORM
元类实现ORM 1. ORM是什么 ORM 是 python编程语言后端web框架 Django的核心思想,"Object Relational Mapping",即对象-关系映射 ...
- Django(22)-ORM中F对象和Q对象
Django(1)-简介 Django(2)-创建项目及默认项目目录结构介绍 Django(3)-配置文件详解 Django(4)-URL和视图 Django(5)-路由配置实例 Django(6)- ...
- Django中models利用ORM对Mysql 进行查表的语句(多个语句)
Django中models利用ORM对Mysql 进行查表的语句(多个语句) 字段查询 all():返回模型类对应表格中的所有数据. get(): 返回表格中满足条件的一条数据,如果查到多条数据,则抛 ...
- mysql数据库教程级联_Mysql实现级联操作(级联更新、级联删除)
tablestu( sidint UNSIGNED primary keyauto_increment, namevarchar(20) not null) TYPE=InnoDB charset=u ...
- Oracle数据库中的级联查询、级联删除、级联更新操作教程
这里整理了Oracle中的三种级联操作,其中Oracle定义外健的时候可以定义级联删除,但是没有级联修改的语法,当然可以用触发器实现,下面我们详细来看Oracle数据库中的级联查询.级联删除.级联更新 ...
- sql级联更新和级联删除
title: sql级联更新和级联删除 date: 2019-05-27 23:15:29 tags: [SQL, Mysql] sql级联更新 执行更新book表失败 后来查找原因是book表被bo ...
- mysql级联删除外键约束_MySQL外键约束、级联更新、级联删除
MySQL支持外键(foreign key),外键允许跨表交叉引用相关数据,另外外键约束能够保证相关数据的一致性.一个外键关系通常包括一个父表和一个子表.父表包含原始的字段数据,子表引用父表中该字段的 ...
- mysql级联更新和级联删除
级联更新和级联删除 1.首先我们建一张主表,把sid设为主键 CREATE TABLE `zhu` (`sid` int(10) unsigned NOT NULL AUTO_INCREMENT,`n ...
最新文章
- 直播报名 | 用户中台建设实践解析
- linux shell oracle脚本_领导:如何用shell脚本统计Oracle数据库进程明细和存储过程信息...
- Qt 调用VISA库通过SCPI程控仪器-以IT8906A电子负载为例
- ubuntu14.04-64位机配置android开发环境,ADT,sdk,eclipsea
- 福师计算机应用基础期末,福师2015计算机应用基础》期末试卷A123
- mySQL 分组查询,根据分组的字段,取最小值
- Java 时间处理 ZoneDateTime
- Mac OS X 10.7.2 Lion下快速锁定屏幕
- ubuntn安装qt5.12.10
- 第33篇-steam密码参数分析
- JUCE框架教程(1)——Projucer入门
- python利用pil 制作透明图片水印
- 做绿色数据中心基础设施建维服务认证有哪些好处?
- CloudDrive — 将阿里云盘变成电脑本地磁盘,网盘挂载映射为本地磁盘!
- 【一起学系列】之策略模式:好多鸭子啊
- Cocos Creator 入门笔记
- html表单验证邮箱表达式,Javascript正则表达式实现表单验证
- 用Android手机远程桌面连接登陆Windows10(用微软账号登陆),Microsoft账户登陆的计算机远程桌面连接问题
- 详解AUTOSAR:什么是AUTOSAR?(理论篇—1)
- Codeforces Round #406 (Div. 1) A. Berzerk 记忆化搜索
热门文章
- java基础_笔记(dos,java基础信息,final,static,abstract,接口,抽象类,数组,排序string,stringbuff/stringbuilder)
- 若依微服启动报Invalid bound statement (not found): com.xbo.system.mapper.SysConfigMapper.selectConfigList问题
- sklearn超参数选择
- token验证技术的原理和简单实现
- matlab移花接木,天龙八部分析帝:天山移花接木VS明教怒火连斩
- ✿bugku✿一切有为法如梦幻泡影
- [商业资讯] 燃精灵软件 今日分享
- java-php-python-ssm选课排课系统计算机毕业设计
- WebRtc GCC、Sendside-BWE 区别
- 基于单片机电子指南针系统设计(毕业)-全套资料分享