美文网首页
Django on_delete 参数

Django on_delete 参数

作者: 青穗黄 | 来源:发表于2019-05-29 00:37 被阅读0次
    class A(models.Model):
        date = models.DateField()
    
    class B(models.Model):
        foreign = models.ForeignKey(A, on_delete=models.CASCADE)
    

    on_delete 参数

    当一个被外键关联的对象被删除时,执行的相应操作
    CASCADE 模拟SQL语言中ON DELETE CASCADE约束,将定义有外键的模型对象同时删除(django 1.11默认值),即A中被删除时,B也被删除 (关联的那些行)
    PROTECT 阻止上面的删除操作,但是弹出ProtectedError异常
    SET_NULL 将外键字段设为null,只有当字段设置了null=True时,才可以使用该参数
    SET_DEFAULT 将外键字段设为默认值,只有当字段设置了default参数是,才可以使用该参数
    DO_NOTHING 什么也不做
    SET() 设置为一个传递给SET()的值火一个回调函数的返回值

    其中CASCADESET_NULL 最常用

    相关文章

      网友评论

          本文标题:Django on_delete 参数

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