2009-09-10 39 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,它将被创建。