關於Django無法同步數據庫及數據表的解決辦法


問題情景:
遇到一個Django項目,是一個數據展示的界面,類似商品展示

需求:

需要加上登錄和注冊功能

進展:

在models文件中新增user表后,執行以下兩條命令皆無任何響應。

1 python manage.py makemigrations
2 python manage.py migrate

隨后查閱相關資料和官方文檔找到解決辦法,在此之前,簡短描述下問題的起因經過。

1.在項目目錄中以及app層目錄下,即/project/templates和/project/templates、/project/__pycache__三個文件中記錄着關於Django對數據庫中的操作記錄

2.當需要對數據庫進行相關更改的情況下,此三個文件夾會有相關記錄,例如第一遍執行了上面兩條語句,順利創建了表,后續又刪除了表,此中記錄並不會被刪除,當執行第一條語句的情況下,Django查閱三個文件中的記錄以后,發現已經執行了相關操作,也就並不會繼續創建表。

在這里並不列舉親測過並不成功的方法,以下按照順序執行,即可解決問題:

1.在數據庫中的目標表存在的情況下,應當刪除這些目標表,比如需要對user表進行更改,那么先刪除user表,如果需要對data表進行更改,便刪除user表,以此類推。

2.刪除在項目目錄中以及app層目錄下,即/project/templates和/project/templates、/project/__pycache__三個文件,如果是文件夾,直接刪除文件夾,如果是文件,直接刪除文件。

比如  ../項目/  和  ../項目/app01  這樣的路徑.

上述兩步執行完畢后執行下面三條語句:

1 # 此命令用於制作一個空的遷移文件(Django會將文件放在正確的位置,提供一個名稱,並為您添加依賴項)
2 python manage.py makemigrations --empty 你的app名
3 python manage.py makemigrations
4 python manage.py migrate

即可完成models中數據庫變更操作。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM