zoukankan      html  css  js  c++  java
  • 关于django2.0的外键关系新特性之on_delete!

    在django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:

    TypeError: __init__() missing 1 required positional argument: 'on_delete'

    举例说明:

    user=models.OneToOneField(User)

    owner=models.ForeignKey(UserProfile)

    需要改成:

    user=models.OneToOneField(User,on_delete=models.CASCADE)          --在老版本这个参数(models.CASCADE)是默认值

    owner=models.ForeignKey(UserProfile,on_delete=models.CASCADE)    --在老版本这个参数(models.CASCADE)是默认值

    参数说明:

    on_delete有CASCADE、PROTECT、SET_NULL、SET_DEFAULT、SET()五个可选择的值

    CASCADE:此值设置,是级联删除。

    PROTECT:此值设置,是会报完整性错误。

    SET_NULL:此值设置,会把外键设置为null,前提是允许为null。

    SET_DEFAULT:此值设置,会把设置为外键的默认值。

    SET():此值设置,会调用外面的值,可以是一个函数。

    一般情况下使用CASCADE就可以了。

  • 相关阅读:
    【CF580D】Kefa and Dishes
    【poj3311】Hie with the Pie
    校外实习-7.7
    校外实习-7.6
    校外实习-7.5
    校外实习-7.4
    作业九-课程总结(补充)
    作业九-课程总结
    作业四——结对编程四则运算
    作业三
  • 原文地址:https://www.cnblogs.com/wenqiangit/p/9544438.html
Copyright © 2011-2022 走看看