問題情景:
遇到一個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中數據庫變更操作。