很多情况下,因为app的models.py的文件内容有误,但是通过python manage.py check检查不出来时,当执行python manage.py migrate同步数据库时却报错,后续再修改models.py的内容,然后反复执行python manage.py makemigrations和python manage.py migrate都会报错。 本文针对此给出一种解决办法:就是将执行python manage.py migrate同步数据库前一次执行python manage.py makemigrations时生成的文件及之后所有的文件删除即可,然后修改models.py,再执行makemigrations/migrate即可。
假设你的Project是MyStock,APP是stock,你的DB是mystock。
你的Project的目录结构如下:
Mystock\__init__.py
\settings.py
\urls.py
\wsgi.py
stock\migrations\__init__.py
\0001_initial.py
\models.py
\views.py
\apps.py
\tests.py
\admin.py
\__init__.py
manage.py

当Django应用的models.py修改后,执行migrate报错,可以尝试删除migrations目录下所有迁移文件,然后重新执行makemigrations和migrate,以解决表已存在等错误。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



