我只是自己測試它。我有Django模型,數據庫中已經有模型的實例。修改Django模型
然後我向模型中添加了一個虛擬整數字段並運行manage.py syncdb
。檢查數據庫,並沒有發生任何事情表。我沒有看到額外的域被添加。
這是預期的行爲?修改模型的正確方法是什麼?以及如何改變數據庫中已有的數據?
我只是自己測試它。我有Django模型,數據庫中已經有模型的實例。修改Django模型
然後我向模型中添加了一個虛擬整數字段並運行manage.py syncdb
。檢查數據庫,並沒有發生任何事情表。我沒有看到額外的域被添加。
這是預期的行爲?修改模型的正確方法是什麼?以及如何改變數據庫中已有的數據?
請使用南面任何樣的變化得到反映到數據庫中的表, 這裏去的鏈接,使用南 Link for South documentation
Django不會改變已經存在的表格,他們甚至在文檔中這樣說。這是因爲django不能保證不會丟失任何信息。
如果您想更改現有表格,您有兩個選項。要麼刪除它們並再次運行syncdb,但如果要保留它,則需要以某種方式存儲數據。其他選項是使用遷移工具爲您完成此操作。 Django可以向您顯示新數據庫模式的SQL,並且可以將它們與當前版本的數據庫相比較以創建更新腳本。
如果是小改動,你甚至可以手動更新你的數據庫,並且你不想使用遷移工具,儘管我會推薦使用它。
你,如果你想改變使用遷移工具,如'South'你模型將被反映在數據庫中。否則,刪除數據庫中的表並重新運行'syncdb'。 –