在models中设置完数据库相关的东西后执行命令python
python manage.py makemigrations
此处无错误mysql
再次执行sql
python manage.py migrate
发生报错数据库
错误信息很长,仔细查找,发现错误根源django
django.db.utils.ProgrammingError: (1146, "Table 'test.model_stude
nt' doesn't exist")spa
这个错误的缘由是我手贱本身在mysql中删除了一张表,Django想作字段改变的时候发现表不在了,因而报错 - -code
杜绝再次发生的方法就是经过Django中的设置进行表的修改,不要本身去mysql中删除表blog
解决办法以下:it
1.将mysql中本身创建的表删除(除了Django自动生成的表除外,将因业务需求本身设置的表删除)io
2.找到本身的模型,目录中有一个名为“migrations”的文件夹,进入这个文件夹
3.保留pycache文件夹和init文件,其他的删除
4.在mysql中找到你的数据库,找到表名为“django_migrations”的表
5.删除表内全部数据
6.从新执行两条命令
python manage.py makemigrations
python manage.py migrate Model
这样数据库就正常了!