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

猜你喜欢

转载自www.cnblogs.com/ifdashui/p/11869949.html