问答>python+大数据开发>Django中的ForeignKey是定义什么的?
Django中的ForeignKey是定义什么的?
来源传智教育2022年04月18日 15时50分25秒
ForeignKey用于定义一对多关系,它包含to和on_delete两个必选参数,其中to接收与之关联的模型;on_delete用于设置关联对象删除后当前对象作何处理,该选项有以下几种取值:
1.models.CASCADE:级联删除,删除主表中记录的同时也删除关联表中相关记录。该取值为on_delete的默认值。
2.models.DO_NOTHING:删除当前表中记录,但不删除关联表中相关记录。
3.models.PROTECT:删除关联数据时引发的ProtectError错误。
4.models.SET_NULL:在外键字段可为空的基础上,若修改或删除主表的主键,则将字表中参照的外键设置为null。
5.models.SET_DEFAULT:在外键字段可为空的基础上,若修改或删除主表的主键,则将字表中参照的外键设置为默认值。
6.models.SET:删除关联数据时重新设置的ForeignKey值。
此外,ForeignKey还有一个常用参数related_name,该参数用于设置关联对象查询时的名称。