之前项目用的是django1.11.9,数据入库一切正常。最近学习了django rest framework,另开了一个虚拟环境安装了最新版本的django3.1.2,今天将原项目的编译器换成带django3.1.2的,想将drf应用到项目上,在数据入库的时候出现“django.db.utils.OperationalError: no such table: main.api_server__old”的报错。不知道是不是因为django的版本更换或者models表格的改动,但我感觉和sqlite3有点关系,一堆报错信息里面有不少提到了sqlite3。
下面是解决方法:
1.sqlite3数据库中找到django_migrations表,将里面app的数据迁移记录删除
2.将生成的表格删除
3.将migrations目录下的initial文件删除
4.重新执行makemigrations和migrate进行数据迁移
解决django.db.utils.OperationalError: no such table: main.api_server__old
原文地址:https://www.cnblogs.com/straightup/p/13778676.html