之前項目用的是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進行數據遷移