1. 程式人生 > >django models 增加欄位(或新表)後如何同步到資料庫

django models 增加欄位(或新表)後如何同步到資料庫

最近對一個django專案進行修改,其中在models.py添加了新的欄位,需要同步到資料庫。

嘗試使用

python manage.py syncdb

提示成功,但未對資料庫進行任何操作,到資料庫中檢視,新欄位並沒有同步進來。

解決辦法如下:

python manage.py shell

進入後

from django.db import connection

新建一個cursor,用於連線

cursor=conneciton.cursor()

下一步就可以進行對資料庫的操作了,把在model中定義的量加入表中:

cursor.execute('ALTER TABLE table_name add port Integer default 0')

sql 語法:ALTER  TABLE table_name add col_name col_type default ..

到這步已經新增完成

 ****************************************************************************************************************************** 補充: 下面補充一下,如果在已有django專案裡面新建一張表,該如何操作: 例如,在app下面models.py中新加一張表後,嘗試使用 python manage.py syncdb
發現結果提示並沒有新建的列表 此時,檢視app目錄下有沒有migrations檔案,如果存在,刪除所有pyc檔案和migrations檔案。 刪除後,再使用 python manage.py syncdb
此時應該可以進行同步了,新表會提示建立在資料庫中