django2.0关联表中必填on_delete参数的含义是什么
发表于:2025-11-06 作者:千家信息网编辑
千家信息网最后更新 2025年11月06日,这篇文章主要介绍django2.0关联表中必填on_delete参数的含义是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一对多(ForeignKey)class Fore
千家信息网最后更新 2025年11月06日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安全错误
数据库的锁怎样保障安全
multisim数据库怎么设置
多商家入驻商城软件开发
视频录制软件开发
计算机和网络安全基金
全球网络安全技术大会
天津有软件开发公司吗
关系中元组对应于数据库中的
铌相图数据库
net 语言用什么数据库
国家推进网络安全什么意思
济南中中网络技术有限公司介绍
网络安全数据可视化工具研究
软件开发验收单模板
海盐软件开发有限公司
ps5 与游戏服务器的连接出现问题
论文数据库 优势
产品详情页能存储到数据库吗
inux服务器开源
淮安创新软件开发售后服务
工控软件开发步骤
数据库切换表
医院网络安全管理委员会
陕西超市电商软件开发
苹果软件开发地址查哪里
计算机二级证可以考网络技术吗
山东济南市浪潮存储服务器
淘宝卖家服务软件开发
华为网络安全审查
江苏营销网络技术哪家好
软件开发技术培训班6