没有建表(即没有执行 python manage.py migrate)的情况
进入到 app 下 的 migrations,删除最新 py 文件(有序号的,连续的)就可以,如果再次 migrations 没有成功,需要在 migrations 后面加上 app 的名称。
已经建表(即已经执行 python manage.py migrate)的情况
a. 如果是新表(也就是没有需要的数据),可以采取删除新表的操作
- 直接 删除 app 下 的 migrations 文件夹
- 删除 migrate 生成的表
- 删除 django_migrations 表里对应的 app 的 migrations 的记录
b. 如果是旧表(也就是有需要的数据)肯定不能进行删表操作,只能再次进行修改走流程
- 修改 model
- python manage.py migrations(这一步有可能会有提示你输入什么值,一般都是输入默认值,注意看清楚意思,是需要什么类型的默认值,有可能是输入外键的 ID,输入不合理的默认值可能会引起其他错误)
- python manage.py migrate