【问题标题】:django: manually adding a foreign key column (newcolumn_id_refs_id_4bfb2ece ?)django:手动添加外键列(newcolumn_id_refs_id_4bfb2ece ?)
【发布时间】:2023-03-27 08:29:01
【问题描述】:

我需要在现有的 django 模型/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 django-models foreign-keys


    【解决方案1】:

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

    实际上,即使没有该限制,您的 django 应用程序也可以正常工作。但是,最好有一个,如果您之后执行转储数据 - 加载数据 - 循环,它将被创建。

    【讨论】:

      猜你喜欢
      • 2021-04-04
      • 1970-01-01
      • 1970-01-01
      • 2015-05-01
      • 2019-02-07
      • 1970-01-01
      • 1970-01-01
      • 2018-10-25
      • 1970-01-01
      相关资源
      最近更新 更多