起因:我直接用drop table uploadproduction';的命令删除了django的models.py中建立的表uploadproduction,其中score是我的app名称
之后用:
python manage.py makemigrations score
python manage.py migrate socre
报错:
django.db.utils.ProgrammingError: (1146, "Table 'experiment.uploadproduction' doesn't exist")
后来解决这个问题的方法是:
先执行:
python manage.py migrate socre --fake
然后有提示,输入yes
Type 'yes' to continue, or 'no' to cancel: yes
最后分别执行:
python manage.py makemigrations score
python manage.py migrate socre
就没有报错了
添加了一个字段,后来报错:
解决办法:进入到你的app所在的migrations下面,删除所有0001,0002这种打头的文件,然后,把你的models.py修改的那张表先还原为未添加字段的结构,执行一遍:
python3 manage.py makemigrations
python3 manage.py migrate
然后修改表结构,添加你的字段,再执行下面的命令
python3 manage.py makemigrations
python3 manage.py migrate
这里我用的是python3.4所以这里的命令是python3,如果您用的是python 2.x,则直接把上述命令中的python3 换成python 就可以