on_delete = models.SET_DEFAULT:设置默认值,删除子表字段时,外键字段设置为默认值,所以定义外键的时候注意加上一个默认值。 on_delete = models.SET(值):删除关联数据时,自定义一个值,该值只能是对应指定的实体 三. 附上delete.py源码 def CASCADE(collector, field, sub_objs, using)
默认情况下,Django 的ForeignKey会关联到目标模型的主键(通常是id字段)。例如: python 复制 classAuthor(models.Model): name = models.CharField(max_length=100)classBook(models.Model): author = models.ForeignKey(Author,on_delete=models.CASCADE) # 默认关联到Author.id 此时,Book.author字段存储的是Author模...
一、外键、OneToOne字段等on_delete为必须参数 - 如下ForeignKey字段源码,to、on_delete为必须参数 to:关联的表 on_delete:当该表中的某条数据删除后,关联外键的操作 related_name:反查参数,设置后可以在被关联表中通过该字段反查外键所在表,默认:set_表名 to_field:默认主键,因为mysql只支持主键作为外键,就算...
max_length=128) content = models.CharField(verbose_name="内容", max_length=1024) topic = models.ForeignKey(verbose_name="话题", to="Topic", on_delete=models.CASCADE, null=True, blank=True) user = models.ForeignKey(verbose_name="发布者", to="UserInfo", on_delete=models.CASCADE, related...
on_delete 指的是通过 ForeignKey 连接起来的当前对象被删除后,外键字段进行的操作。 # models.py 代码语言:javascript 代码运行次数:0 运行 AI代码解释 from django.db import models class Article(models.Model): """ 主题表/文章表 """ title = models.CharField(max_length=128, verbose_name="标题") co...
ForeignKey("app2.App2", on_delete=models.CASCADE) # app2/models.py class App2(models.Model): pass 当我们设置 ForeignKey 的时候,有一个 on_delete 参数,主要用于当被关联的外键的数据被删除时,自身数据的处理。 在我们上面的两个 model 的例子便是,当 App2 的某个数据被删除时,关联了该条数据的 ...
owner=models.ForeignKey(UserProfile,on_delete=models.CASCADE) --在老版本这个参数(models.CASCADE...
组合与聚合是数据库设计中的两个重要概念,用于描述实体之间的关系。在Django中,ForeignKey字段的on_delete参数可用于定义关系的组合与聚合方式。 具体来说,on_delete参数有以下几种取值: CASCADE(级联删除):当关联的对象被删除时,该字段也会被删除。这是默认的行为,适用于组合的关系,例如一个订单被删除后,对应的订单...
1.django - foreignkey(othermodel,on_delete=models.CASCADE) on_delete 在外键中必须设置,表示级联关系,在django1.x下,系统默认提供,2.x下,必须手动明确 model.CASCADE:意思是你没有了,我也会跟着没有 级联 例子:作者没有,详情一定没,存在没有意义 ...
1、on_delete 假设有两个 application,app1 和 app2 app1 下的 某个 model 为 App1 app2 下的 某个 model 为 App2 # app1/models.py class App1(models.Model): app2 = models.ForeignKey("app2.App2", on_delete=models.CASCADE) # app2/models.py ...