2013-07-04 134 views
2

我有一個遺留數據庫,我在Django的應用程序中使用。我使用django管理功能從現有表中生成models.py文件。Django模型 - 數據庫更改

如果我對模型進行了更改,例如爲模型添加unique_together約束,是由Django管理的更改,還是必須以某種方式將所述模型更改應用於數據庫?

回答

3

爲了讓django檢測到更改,您需要使用名爲south的第三方遷移工具。現在,由於您已經承諾運行python manage.py syncdb,因此您需要刪除表格並重新開始。

這是你如何做到這一點(已刪除後您的表):

  1. 安裝使用pip install south
  2. 添加南至安裝的應用程序南部,並確保所有其他應用程序之前來到你創建
  3. 運行以下命令:python manage.py schemamigration --inital <your app name>
  4. 運行以下命令:python manage.py migrate <your app name>
  5. 運行以下命令:python manage.py syncdb < - 最後一次你將需要運行它:)

希望這有助於。

+0

不錯的答案。 HOwever最後不需要'syncdb'。 – karthikr

+0

@ karthikr:如果你是第一次做這些,你會這麼做的。 –