在你改動了 model.py的內(nèi)容之后執(zhí)行下面的命令:
Python manger.py makemigrations
相當于 在該app下建立 migrations目錄,并記錄下你所有的關(guān)于modes.py的改動,比如0001_initial.py, 但是這個改動還沒有作用到數(shù)據(jù)庫文件
你可以手動打開這個文件,看看里面是什么
在此之后執(zhí)行命令
將該改動作用到數(shù)據(jù)庫文件,比如產(chǎn)生table之類
python manage.py makemigrations這個命令是記錄我們對models.py的所有改動,并且將這個改動遷移到migrations這個文件下生成一個文件例如:0001文件,如果你接下來還要進行改動的話可能生成就是另外一個文件不一定都是0001文件,但是這個命令并沒有作用到數(shù)據(jù)庫,而當我們執(zhí)行python manage.py migrate 命令時 這條命令的主要作用就是把這些改動作用到數(shù)據(jù)庫也就是執(zhí)行migrations里面新改動的遷移文件更新數(shù)據(jù)庫,比如創(chuàng)建數(shù)據(jù)表,或者增加字段屬性
另外一個需要注意的是這兩個命令默認情況下是作用于全局,也就是對所有最新更改的models或者migrations下面的遷移文件進行對應的操作,如果要想僅僅對部分app進行作用的話 則執(zhí)行如下命令:
python manage.py makemigrations appname,
python manage.py migrate appname,
如果要想精確到某一個遷移文件則可以使用:
python manage.py migrate appname 文件名