很多情况下,因为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
MyStock/stock/models.py的内容如下:
class TestSelfDefinedTableName5(models.Model):
class Meta:
db_table = 'my_own_defined_table5'
</