我更改了其中一个模型的属性名称。当我在
models.py
脚本中进行更改后,我尝试使用 makemigrations
命令迁移它,但它一直给我一个错误,即电子邮件字段不可为空,并且数据库需要一些内容来填充现有行。所以我尝试反转之前的迁移并运行命令python3 manage.py <app_name> zero
。
此后,之前的不可为空字段错误在命令行中得到解决,但一旦我在浏览器上提交表单,我就会遇到此操作错误。
问题的关键是如何改变models.py
中其中一个模型的属性并处理随之而来的迁移?
在进行此类更改时,您可能需要删除数据库或运行 python manage.py 刷新命令。如果您不想这样做,只需添加一次性默认值(确保其类型正确)。
我通过刷新数据库并再次迁移它解决了这个问题, 在终端或cmd中运行 ((run python manage.pylush)) 然后运行 ((python manage.py makemigrations)) 和 ((python manage.py migrate)) 你的问题就会解决!