django-ORM外键删除操作详解

只谈情不闲聊 提交于 2019-12-04 14:20:30

前提是创建好了 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  这篇文章

 

 

 

 

 

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!