2
我有一個遺留數據庫,我在Django的應用程序中使用。我使用django管理功能從現有表中生成models.py文件。Django模型 - 數據庫更改
如果我對模型進行了更改,例如爲模型添加unique_together
約束,是由Django管理的更改,還是必須以某種方式將所述模型更改應用於數據庫?
我有一個遺留數據庫,我在Django的應用程序中使用。我使用django管理功能從現有表中生成models.py文件。Django模型 - 數據庫更改
如果我對模型進行了更改,例如爲模型添加unique_together
約束,是由Django管理的更改,還是必須以某種方式將所述模型更改應用於數據庫?
爲了讓django檢測到更改,您需要使用名爲south
的第三方遷移工具。現在,由於您已經承諾運行python manage.py syncdb
,因此您需要刪除表格並重新開始。
這是你如何做到這一點(已刪除後您的表):
pip install south
python manage.py schemamigration --inital <your app name>
python manage.py migrate <your app name>
python manage.py syncdb
< - 最後一次你將需要運行它:)希望這有助於。
不錯的答案。 HOwever最後不需要'syncdb'。 – karthikr
@ karthikr:如果你是第一次做這些,你會這麼做的。 –