django delete方法,django设置外键
最新的django2.0使用ForeignKey和OneToOneField时,必须添加on_delete参数,否则会报错。
刚用django2.0的朋友总会遇到如下这样的错误,这也是为什么不在外键中添加on_delete参数的原因。
Type: _ _ init _ _()缺少1个必需的位置参数3360“on _ delete”正式大小写:
一对一(OneToOneField)
fromdjango.confimportsettings
fromdjango.dbimportmodels
classMySpecialUser(型号。型号):
用户=模型。OneToOneField(设置。AUTH_USER_MODEL,on_delete=models。级联,)
主管=模特。OneToOneField(设置。AUTH_USER_MODEL,on_delete=models。级联,相关名称=
的主管)一对多(ForeignKey)
fromdjango.dbimportmodels
classAbstractCar(模型。型号):
制造商=型号。ForeignKey(制造商,on _ delete=型号。级联)
classMeta:
Abstract=True下面排序的on_delete参数的每个值的含义:
On_delete=None,#删除关联表中的数据时,与当前表关联的字段的行为。
On _ delete=模型。级联,#删除关联数据,与之关联的也删除。
On _ delete=模型。DO_NOTHING,#删除相关数据,不做任何操作。
On _ delete=模型。PROTECT,#删除相关数据,并引发错误ProtectedError。
#型号。ForeignKey(关联表,on _ delete=models.set _ null,blank=true,null=true)
On _ delete=模型。SET_null,#删除关联数据,关联值设置为NULL(前提是FK字段需要设置为NULL,一对一也一样)
#型号。ForeignKey(关联表,on _ delete=models.set _ default,default= default )
On _ delete=模型。SET_DEFAULT,#删除关联数据,关联值设置为默认值(前提是需要设置FK字段的默认值,一对一也一样)
On _ delete=模型。设置,#删除相关数据、
形容词(adjective的缩写)与其关联的值被设置为指定的值,即setting: models。设置(值)
B.与之相关联的值被设置为可执行对象的返回值。设置:模型。SET(可执行对象)多对多不需要on_delete,就不多说了。关于on_delete的更多信息,可以访问官网。
热门IT软件开发工作室,免费在线学习python平台,欢迎关注!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。