【问题标题】:psql: ForeignKey constraint namepsql:ForeignKey 约束名称
【发布时间】:2017-12-11 16:00:40
【问题描述】:

我正在使用 django 和 postgresql。在查看 psql 以查看数据库和表模式时,我注意到大多数时候外键约束被命名为 modelname__field_id_hexnum_fk_basemodel_field_id 但在某些情况下它是一个哈希,例如D19cb71bc44206c3464da32ad943c8f8。为什么会这样?是因为约束名称的长度还是其他一些因素造成的?

【问题讨论】:

    标签: postgresql django-models foreign-keys


    【解决方案1】:

    可能与多对多关系中介连接表的逻辑相同?..

    https://docs.djangoproject.com/en/2.0/ref/models/fields/

    在幕后,Django 创建了一个中间连接表 表示多对多的关系。默认情况下,此表名 使用多对多字段的名称和 包含它的模型的表。由于有些数据库没有 支持超过一定长度的表名,这些表名将是 自动截断为 64 个字符,唯一性哈希将是 用过。

    【讨论】:

      猜你喜欢
      • 2015-11-16
      • 2017-04-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 2013-04-18
      • 2021-08-18
      相关资源
      最近更新 更多