关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回

Django2.0中的on_delete字段取值含义

发布时间:2022-09-11 23:37:10

在Django的2.0版本中,外键字段 ForeignKey 和一对一字段 OneToOneField 都必须设置 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
on_delete=models.SET_NULL,       # 删除关联数据,与之关联的值设置为null(前提外键字段需要设置为可空,一对一同理)
on_delete=models.SET_DEFAULT, # 删除关联数据,与之关联的值设置为默认值(前提FK字段需要设置默认值,一对一同理)
on_delete=models.SET,                    # 删除关联数据,
# 与之关联的值设置为指定值,设置:models.SET(value)
# 与之关联的值设置为可执行对象的返回值,设置:models.SET(可执行对象)

另外有需要云服务器可以了解下风纳云fengnayun.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场(仅限教程资讯栏目),内容著作权归作者所有。转载内容仅用于参考、学习,无商业用途。由于互联网信息复制性强我们难以联系到全部原著作人,若页面内容侵犯了您的权益,我们深感抱歉,还请联系邮箱service@fengnayun.com我们将在第一时间按照著作人要求处理内容。
/template/Home/Dawn/PC/Static

选择风纳云,也许是您成就一番大事业的开端

注册账号