完美解决Django2.0中models下的ForeignKey()问题
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:字面的意思,啥也不干,你删除你的干我毛线关系
上一篇:Python linecache.getline()读取文件中特定一行的脚本
栏 目:Python代码
下一篇:python re正则表达式模块(Regular Expression)
本文标题:完美解决Django2.0中models下的ForeignKey()问题
本文地址:http://www.codeinn.net/misctech/27329.html