django delete方法,django设置外键

  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的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: