Django2.0中编写models类下的ForeignKey
book = models.ForeignKey('BookInfo')
django2.0与之前的1.8不同,
错误:
book = models.ForeignKey('BookInfo')
TypeError: __init__() missing 1 required positional argument: 'on_delete'
解决方法:
book = models.ForeignKey('BookInfo', on_delete=models.CASCADE,)
加上on_delete参数就可以了!!!
补充知识:Django ForeignKey ondelete
CASCADE:删除一并删除关联表下的所有的信息;
PROTECT:删除信息时,采取保护机制,抛出错误:即不删除关联表的内容;
SET_NULL:只有当null=True才将关联的内容置空;
SET_DEFAULT:设置为默认值;
SET( ):括号里可以是函数,设置为自己定义的东西;
DO_NOTHING:字面的意思,啥也不干,你删除你的干我毛线关系
以上这篇完美解决Django2.0中models下的ForeignKey()问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持软件开发网。
您可能感兴趣的文章:解决Django migrate No changes detected 不能创建表的问题django 解决扩展自带User表遇到的问题Django 创建/删除用户的示例代码Django 解决新建表删除后无法重新创建等问题