我正在尝试将我的Django
项目Python 2.7/Django 1.11
从Python 3.7/Django 2.1
.
我对一个问题有点困惑。
Django 2.1
models.ForeignKey(...)
将我项目中的所有代码字符串标记为错误:
TypeError: __init__() missing 1 required positional argument: 'on_delete'
这是因为Django 2.x
,字段'on_delete'
需要方法( Getting TypeError: __init__() missing 1 required positional argument: 'on_delete' when trying to add parent table after child table with entries)ForeignKey
如果您阅读这篇文章,解决方案非常简单,您只需添加一个'on_delete'
选项,例如:
models.ForeignKey(..., on_delete=models.CASCADE,)
但Django
不仅抱怨实际'models.py'
文件,而且抱怨所有(!)包括"ForeignKey"
字段添加或更改的迁移。
所以我的问题是,修改旧的迁移文件是否安全Django
?这是我在这种情况下应该做的吗?