這個錯誤基本上都是 替換文件后才會出現的問題
因為你替換后他的日志文件沒有完全替換的話,那么日志對應不到就會出現這樣的問題,
一個模糊的處理辦法:重新進行數據遷移:首先刪除migrations中除去__init__.py的是所有文件,
這些都是基本數據遷移后的數據庫文件,之后重新數據遷移,
python manage.py makemigrations
python manage.py migrate
之后就沒問題了,
ps: python manage.py makemigrations 這種命令形式 是因為虛擬環境的創建不夠完善導致的編譯器是環境外的編譯器,
所以在交互式環境下命令時就必須是標准的python命令,如果虛擬環境是完整的那么,命令格式如下:
./manage.py makemigratins
與之相同的有
./manage.py runserver
。
。
。
但是在未正式發布的情況下還是用環境外的編譯器,環境內的只需要跟上版本配置就行了,在正式發布前一刻在用環境內的進行測試,
這樣很多第三方庫的容錯性問題就會提前在環境外解決,不會因為第三方庫的容錯問題而導致的上線延遲。
還有的處理方法是(閱讀代碼能力不強建議不這樣做,建議很閑的人可以這樣做,很費時間和心態):
閱讀庫文件 雖然庫文件內容很多,但是邏輯非清晰,開始很難讀但一旦熟悉了庫文件內容,對於后期的維護會非常有幫助,
主要需要注意容易出問題的地方model層的庫文件(報錯率相對最高),
因為庫文件的問題報錯基本很相似所以非常考驗閱讀代碼的能力,
在Django中可以鍛煉我們很多東西,閱讀源文件能力,邏輯能力 ,Debug能力,以及項目維護能力。
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Django 默認的是SQLite3數據庫這個數據庫最好只用於小量的上線前單元測試的測試 :
因為,SQLite3在於python的溝通很方便也很快捷,所以在測試上很方便,但是最好不要進行高並發等的測試也不要進行大數據的測試,
如果要進行大量的測試最好用Mysql等關系型數據庫,因為關系映射的原因所以關系型數據庫也用的最多。
下面進行庫文件的介紹。
Django庫文件的創建方法,
1.在django終端進行插入:
數據庫表創建完成之后,在pycharm的terminal中輸入python manage.py shell 然后就會進入InteractiveConsole,之后可以在下面輸入命令,在數據庫表中添加數據。
2.在views.py中創建:
views.py完成url與模板的交互,在views中可以接受前端的數據,然后在views中通過命令進行添加到數據庫表中,基本命令都一樣。
3.在可視化工具中進行直接添加:
django默認采用的是sqlite3數據庫,可以使用SQLiteStudio打開數據庫表進行直接添加。
4.在工程中再創建一個腳本,運行腳本進行添加(用以批量添加),類似方法和在views中添加是一樣的。
get_or_create()方法可以避免在批量添加時,出現數據的重復添加創建。
Django引入現有數據庫:
Django引入外部數據庫還是比較方便的,步驟如下:
1.創建一個項目,修改seting文件,在setting里面設置你要連接的數據庫類型和連接名稱,地址之類,和創建新項目的時候一致。
2.運行下面代碼可以自動生成models模型文件
python manage.py inspectdb
這樣就可以在命令行看到數據庫的模型文件了
3.把模型文件導入到app中
4.創建一個app
django-admin.py startapp app
python manage.py inspectdb > app/models.py
python manage.py migrate