【问题标题】:Change Django many->one relationship to a many->many relationship?将 Django many->one 关系更改为 many->many 关系?
【发布时间】:2011-01-31 06:37:35
【问题描述】:

您好,有一个现有的 Django 模型 many->one 关系,我想将其更改为 many->many 关系。您可以对同一个字段执行此操作,还是我必须创建一组具有新的多->多关系的并行字段?

【问题讨论】:

    标签: django django-models


    【解决方案1】:

    您必须定义一个新字段并处理将旧关系转移到新字段的问题。

    多->一个关系只是数据库中存储目标表的 PK 的列。

    ID 1 <-> FK_ID 3
    ID 2 <-> FK_ID 3
    

    many->many 关系涉及到一个中间表,所以它是一个不同的野兽。

    ID 1 <-> m2m_table_id 1 <-> FK_ID 3
    

    我会用新的 m2ms 设置一个新字段,遍历当前的 FK 并将它们添加到新的 M2M 字段中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-16
      相关资源
      最近更新 更多