美文网首页工作生活django
ForeignKey on_delete的各个参数的值

ForeignKey on_delete的各个参数的值

作者: Aedda | 来源:发表于2019-07-02 17:30 被阅读0次
    on_delete=None,               # 删除关联表中的数据时,当前表与其关联的field的行为
    
    on_delete=models.CASCADE,     # 删除关联数据,与之关联也删除,级联删除。Django模拟SQL约束ON DELETE CASCADE的行为,并删除包含ForeignKey的对象。
    
    on_delete=models.DO_NOTHING,  # 删除关联数据,什么也不做
    
    on_delete=models.PROTECT,     # 删除关联数据,引发错误ProtectedError。通过引发ProtectedError子类来 防止删除引用的对象 django.db.IntegrityError。
    
    # 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(可执行对象)
    
    

    相关文章

      网友评论

        本文标题:ForeignKey on_delete的各个参数的值

        本文链接:https://www.haomeiwen.com/subject/tbethctx.html