最近遇到的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

posted @ 2021-11-07 20:58  Wait_Future  阅读(88)  评论(0编辑  收藏  举报