官术网_书友最值得收藏!

3.7 激活模型

前面提到所有已經啟用的Django應用程序都會被記錄在INSTALLED_APPS中,而migrate命令也需要去INSTALLED_APPS檢索所有應用程序,所以為了將前面創建的模型寫入數據庫,還需要激活它,激活應用程序的方式就是把應用程序的配置文件加入INSTALLED_APPS中。

Polls項目的配置文件存放在polls/apps.py腳本中,默認的類名字是PollsConfig,因此對應的Python路徑就是“polls.apps.PollsConfig”:

項目激活之后,執行以下命令生成數據庫表:

    > python manage.py makemigrations polls

makemigrations命令會檢測模型文件的修改,并且把修改的部分存儲成一次遷移(migrate),這個遷移就是一個腳本文件,默認會保存在migrations文件夾下。這里不需要關心這些遷移文件具體做了什么,更不需要了解它是怎么做的,唯一要做的就是使用migrate命令將這些遷移應用到數據庫中:

    > python manage.py migrate

這個migrate命令選中所有還沒有執行過的遷移(Django通過在數據庫中創建一個特殊的表django_migrations來跟蹤執行過哪些遷移)并應用在數據庫上,也就是將模型的更改同步到數據庫結構上。

遷移命令非常強大,可以使不懂數據庫開發的開發人員很輕松地操作數據庫,后續內容會進一步介紹migrate命令。

提示

將數據庫更新拆分成makemigrations和migrate兩個命令可以方便地使用源代碼管理工具管理數據庫的變更記錄。

主站蜘蛛池模板: 耒阳市| 石门县| 云安县| 沙洋县| 淳化县| 浑源县| 莱西市| 双峰县| 淮滨县| 余姚市| 东阿县| 常山县| 江陵县| 项城市| 淮北市| 东辽县| 平泉县| 东丽区| 桃园市| 汉阴县| 来安县| 紫阳县| 利津县| 天峻县| 福鼎市| 唐海县| 莆田市| 汶上县| 图木舒克市| 抚松县| 宁远县| 楚雄市| 安阳市| 新宁县| 普定县| 长泰县| 丹寨县| 乳源| 本溪市| 西华县| 南乐县|