我需要在现有的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 的最后部分是什么?

谢谢,

马丁

有帮助吗?

解决方案

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top