最近遇到的pycharm的报错
TypeError: init() missing 1 required positional argument: 'on_delete'
django2.0后,定义外键和一对一关系的时候需要加on_delete选项,此参数为了避免两个表里的数据不一致问题,不然会报错:
原来:user=models.OneToOneField(User)
现在:user=models.OneToOneField(User,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。
django2.0后include中的编辑方式要改变
从:url(r'^student/', include('student.ursl', namespace="student"))
要变为:url(r'^student/', include(('student.ursl',"student"), namespace="student"))
//转载请注明出处:https://www.cnblogs.com/Songjunxiang/p/15521715.html
欢迎提出问题,我会看见之后立刻改正。
邮箱:2247256783@qq.com
QQ(添加请注明原因):2247256783