Django模型(Model):删除表后无法重新创建的问题

问题起因

Django项目修改模型的字段时遇到问题,无意中把表删除了,然后migrate执行迁移文件的时候报出各种错误如:django.db.utils.OperationalError: (1050, “Table ‘xxx表’ already exists”)

执行python manage.py makemigrations命令后提示:

No changes detected

执行python manage.py migrate命令后报错

django.db.utils.OperationalError: (1050, “Table ‘xxx表’ already
exists”)

解决方法

1.删除该app的migrations目录下除了_init_.py之外的所有文件
在这里插入图片描述

2.进入数据库shell模式,删除migrations中关于这个app的同步数据库记录
执行:

python manage.py dbshell
mysql> delete from django_migrations where app=‘yourAppName’;
Query OK, 4 rows affected (0.06 sec)

重新执行生成迁移文件命令创建表即可:

python manage.py makemigrations
python manage.py migrate

猜你喜欢

转载自blog.csdn.net/m0_53195006/article/details/123829741