1.出現錯誤:TypeError: int() argument must be a string, a bytes-like object or a number, not 'datetime.datetime'
2.出現的原因在於在models.py增加了其他的ForeignKey
3.運行python manage.pu makemigrations 時,提示增加默認值,
4。根據提示輸入一直錯誤,輸入timezone.now 問題也存在
5.此時運行python manage.py migrate 則會出現如題問題
6.此時懷疑時外鍵問題,或者models.py中的models.DateTimeField()類型錯誤,一直註釋相應的代碼調試,問題依然存在,此時距離問題的發現已經有3個小時了,沒有辦法後,打算將關於外鍵的和models.DateTimeField全部註釋掉,且註釋多個model,只留一個model(model即models.py中的類)
7.此時將django 的默認數據庫db.sqlite3中的表:django_migrations 記錄清空,不斷執行python manage.py makemigrations ,根據提示刪除數據庫相應的表(需根據提示按順序刪除),提示語如下圖:
8,根據提示刪除所有該刪除的表格後,執行python manage.py makemigrations,發現表格結構,仍然和以前的一模一樣,並沒有根據 我的models.py中的代碼生成數據結構,數據庫結構仍然有被註釋的代碼,此時極度懷疑人生了,且執行了幾遍該問題仍然存在,後來在stackoverflow(鏈接) 一個不起眼的答案中發現了在 項目中有個文件夾爲
9.在這個文件夾中存放着數據庫結構,所以當新建數據庫時這些文件會被再次應用(舊的數據庫結構),恍然大悟爲什麼創建新的數據庫時創建了舊的結構,處理方式是:刪除migrations 文件夾下的所有文件,此時再次新建數據庫就無問題了,同時題目描述的問題也能解決了