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  这篇文章

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM