on_delete = None:删除关联表的数据时,当前表与关联表的filed的行为。 on_delete = models.DO_NOTHING:你删你的,父亲(外键)不想管你 on_delete = models.PROTECT:保护模式,如采用这个方法,在删除关联数据时会抛出ProtectError错误 on_delete = models.SET_DEFAULT:设置默认值,删除子表字段时,外键字段设置为默...
Django-on_delete 一、外键的删除 关于on_delete的总结 1、常见的使用方式(设置为null) classBookModel(models.Model):""" 书籍表 """book_name = models.CharField(max_length=100, verbose_name='书名')# 表示外键关联到作者表,当作者表删除了该条数据,图书表中不删除,仅仅是把外键置空author = models.F...
models.SET_DEFAULT 将外键的值设置为默认值。外键必须设置有默认值 。 models.SET()将SET()设置的值作为外键的值 ,如果传递了callable,则调用它的结果。 DO_NOTHING不采取行动。如果后端数据库有强制关联操作,这是容易报错:IntegrityError,除非你在数据库中手动添加了SQL的ON DELETE约束。 欢迎查看我的这个系列的其...
app2 = models.ForeignKey("app2.App2", on_delete=models.CASCADE) # app2/models.pyclassApp2(models.Model):pass 当我们设置 ForeignKey 的时候,有一个 on_delete 参数,主要用于当被关联的外键的数据被删除时,自身数据的处理。 在我们上面的两个 model 的例子便是,当 App2 的某个数据被删除时,关联了该...
在Django中使用MySQL数据库时,确保模型中的外键关系的on_delete参数被正确设置和应用是非常重要的。on_...
on_delete解释:当子表中的某条数据删除后,关联的外键操作 1.on_delete = models.SET_NULL 置空模式,删除时,外键字段被设置为空,前提就是blank=True, null=True,定义该字段时,允许为空。理解:删除关联数据(子表),与之关联的值设置默认值为null(父表中),这个前提需要父表中的字段可以为空。
on_delete参数如下: CASCADE:级联操作。如果外键对应的那条数据被删除了,那么这条数据也会被删除。 PROTECT:受保护。即只要这条数据引用了外键的那条数据,那么就不能删除外键的那条数据。如果我们强行删除,Django就会报错。 SET_NULL:设置为空。如果外键的那条数据被删除了,那么在本条数据上就将这个字段设置为空。
on_delete 参数可以配置为七种可能的行为或操作。我们将单独讨论所有这些。CASCADE 参数 在建立模型之间的...
这一篇笔记介绍 Django 系统 model 的外键处理,ForeignKey 以及相应的处理方法。 这是一种一对多的字段类型,表示两张表之间的关联关系。 本篇笔记的目录如下: on_delete related_name related_query_name 外键字段的保存 1、on_delete 假设有两个 application,app1 和 app2 ...