django:手动添加外键列(newcolumn_id_refs_id_4bfb2ece?)

时间:2009-09-10 13:09:29

标签: postgresql django-models foreign-keys

我需要在现有的django model / postgres表中添加一个外键字段。根据django文档,我运行'sqlall myapp'命令来'解决差异'。

明显不同的是,现在有问题的表格中有一个额外的列,带有新的约束,如下所示:

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 个答案:

答案 0 :(得分:1)

这将使PostgreSQL理解并强制执行另一个表的外键,并保证myapp_table.newcolumn中不会有任何在myapp_theothertable.id中找不到的内容

实际上,即使没有这种约束,你的django应用程序也能正常工作。但是,最好有一个,如果你之后做了dumpdata - loaddata -cycle,它将被创建。