码迷,mamicode.com
首页 > 其他好文 > 详细

056:ORM外键删除操作详解

时间:2019-01-05 19:54:18      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:引用   不能   使用   删除   protect   除了   def   django   保护   

外键删除操作:

如果一个模型使用了外键。那么在对方那个模型被删掉后,该进行什么样的操作。可以通过 on_delete 来指定。可以指定的类型如下:
1、CASCADE :级联操作。如果外键对应的那条数据被删除了,那么这条数据也会被删除。
2、PROTECT :受保护。即只要这条数据引用了外键的那条数据,那么就不能删除外键的那条数据。
3、SET_NULL:设置为空。如果外键的那条数据被删除了,那么在本条数据上就将这个字段设置为空。如果设置这个选项,前提是要指定这个字段可以为空。
4、SET_DEFAULT:设置默认值。如果外键的那条数据被删除了,那么本条数据上就将这个字段设置为默认值。如果设置这个选项,前提是要指定这个字段一个默认值。
5、SET() :如果外键的那条数据被删除了。那么将会获取 SET 函数中的值来作为这个外键的值。 SET 函数可以接收一个可以调用的对象(比如函数或者方法),如果是可以调用的对
象,那么会将这个对象调用后的结果作为值返回回去。
6、DO_NOTHING :不采取任何行为。一切全看数据库级别的约束。

以上这些选项只是Django级别的,数据级别依旧是RESTRICT!

056:ORM外键删除操作详解

标签:引用   不能   使用   删除   protect   除了   def   django   保护   

原文地址:https://www.cnblogs.com/zheng-weimin/p/10225541.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!