django-ORM外键删除操作详解

前提是创建好了 ORM框架

 

这里沿用 https://www.cnblogs.com/ifdashui/p/11863546.html  该创建外键的例子基础上做学习记录

1.关于级联的外键删除

也就是使用   on_delete=models.CASCADE  来创建的外键

 

 

 

在包下的views.py中做删除

 

 

 

然后在映射

 

 

 使用include做一个总的映射

 

 

 

运行django输入映射的地址,就删除这个外键了 

 

2. 受保护的外键无法删除   on_delete=models.PROTECT

如果这个外键在后期维护中是不需要删除的就设置成这个

 

 

 

3.  SET_NULL :外键被删除 那么本数据的字段的设置就为空,如果要设置这个选项,那么这个字段是需要设置为空的

 

 

 

4.models.SET_DEFAULT: 默认值,也就是外键删除某条数据后,使用你设置的数据作为默认值

设置了默认值为外键的第二条数据(pk=2)

 

 

那么在删除第一条数据了后(pk=1),就会将外键的第二条数据默认赋值给之前被删除的数据

 

后面的具体参考

https://blog.csdn.net/luzon1/article/details/87816674  这篇文章

 

 

 

 

 

 

posted @ 2019-11-15 22:30  啃料丶  阅读(1451)  评论(0编辑  收藏  举报