2009-09-10 40 views
1

我需要將外鍵字段添加到現有的django model/postgres表中。根據django文檔,我運行'sqlall myapp'命令來「解決差異」。django:手動添加外鍵列(newcolumn_id_refs_id_4bfb2ece?)

最明顯的區別是,有問題的表格,現在有一個額外的列與新contraint,它看起來像這樣:

ALTER TABLE "myapp_mytable" ADD CONSTRAINT newcolumn_id_refs_id_4bfb2ece 
FOREIGN KEY ("newcolumn_id") REFERENCES "myapp_theothertable" ("id") 
DEFERRABLE INITIALLY DEFERRED; 

與我的數據庫搞亂之前,我想明白這句話,特別是newcolumn_id_refs_id_4bfb2ece的最後部分是指什麼?

感謝,

馬丁

回答

1

它將使PostgreSQL的理解和執行你的外鍵其他表,保證不會在myapp_table.newcolumn任何不能在myapp_theothertable找到。編號

其實,即使沒有這個約束,你的django應用程序也能正常工作。但是,有一個好主意,如果你之後做了dumpdata - loaddata -cycle,它將被創建。