django2.0关联表中必填on_delete参数的含义是什么
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍django2.0关联表中必填on_delete参数的含义是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一对多(ForeignKey)class Fore
千家信息网最后更新 2026年10月31日django2.0关联表中必填on_delete参数的含义是什么
这篇文章主要介绍django2.0关联表中必填on_delete参数的含义是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
一对多(ForeignKey)
class ForeignKey(ForeignObject): def __init__(self, to, on_delete, related_name=None, related_query_name=None, limit_choices_to=None, parent_link=False, to_field=None, db_constraint=True, **kwargs): super().__init__(to, on_delete, from_fields=['self'], to_fields=[to_field], **kwargs)
一对一(OneToOneField)
class OneToOneField(ForeignKey): def __init__(self, to, on_delete, to_field=None, **kwargs): kwargs['unique'] = True super().__init__(to, on_delete, to_field=to_field, **kwargs)
从上面外键(ForeignKey)和一对一(OneToOneField)的参数中可以看出,都有on_delete参数,而 django 升级到2.0之后,表与表之间关联的时候,必须要写on_delete参数,否则会报异常:
TypeError: __init__() missing 1 required positional argument: 'on_delete'
因此,整理一下on_delete参数的各个值的含义:
on_delete=None, # 删除关联表中的数据时,当前表与其关联的field的行为on_delete=models.CASCADE, # 删除关联数据,与之关联也删除on_delete=models.DO_NOTHING, # 删除关联数据,什么也不做on_delete=models.PROTECT, # 删除关联数据,引发错误ProtectedError# models.ForeignKey('关联表', on_delete=models.SET_NULL, blank=True, null=True)on_delete=models.SET_NULL, # 删除关联数据,与之关联的值设置为null(前提FK字段需要设置为可空,一对一同理)# models.ForeignKey('关联表', on_delete=models.SET_DEFAULT, default='默认值')on_delete=models.SET_DEFAULT, # 删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值,一对一同理)on_delete=models.SET, # 删除关联数据, a. 与之关联的值设置为指定值,设置:models.SET(值) b. 与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)多对多(ManyToManyField)
class ManyToManyField(RelatedField): def __init__(self, to, related_name=None, related_query_name=None, limit_choices_to=None, symmetrical=None, through=None, through_fields=None, db_constraint=True, db_table=None, swappable=True, **kwargs): super().__init__(**kwargs)
因为多对多(ManyToManyField)没有 on_delete 参数,所以略过不提.
以上是"django2.0关联表中必填on_delete参数的含义是什么"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!
关联
参数
数据
一对一
含义
内容
前提
字段
对象
篇文章
之间
价值
兴趣
小伙
小伙伴
时候
更多
知识
行业
行为
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
小米移动互联网科技园
河南云网互联网络科技有限公司
科技和互联网公司
互联网科技的
深圳科技互联网
世界互联网领先科技成果
汇久创客互联网科技
唐信互联网科技 大连
郑州华宇互联网科技
狮子座互联网科技培训
四个字互联网科技公司取名
互联网实体化科技化
中国航天科技大学国际工业互联网
互联网科技与大数据专业
燊美集互联网科技有限公司
互联网数据科技专业
南京一网一红互联网科技有限公司
云鲸互联网络科技有限公司
互联网金融运营模式中的金融科技
互联网科技博主张洲
涨乐互联网科技
互联网与未来科技
广西互联网科技公司
深圳期待互联网科技
佰商互联网科技有限公司
青岛中康互联网医疗科技有限公司
广州优美互联网科技
湖南诚度互联网科技有限公司
国产互联网科技公司
互联网时代高科技布局