【问题标题】:Django ManyToMany to Multiple ModelsDjango 多对多到多个模型
【发布时间】:2015-04-26 20:16:26
【问题描述】:

我有模型 A、B、C。

这些模型以下列方式相关。

C 除了其他的东西,还包含一个 B 和 C 对的集合。

所以我创建了一个模型 X,其中包含 C、A 和 B 的外键。

这允许我定义多个可以绑定到 C 的 A、B 对。

通读文档后,模型类中的 ManyToManyField 似乎对此很有用,但我找不到任何涉及多个表的实例。所有文档通常都可用于连接例如:C 和 A。

我当然不能合并 A 和 B,否则这个问题就不会出现在这里。 关于如何在不创建模型 X 的情况下执行此操作并让 Django 的模型框架处理此问题的任何建议?

【问题讨论】:

  • 请您举个例子。或您当前的代码,以了解您要做什么。
  • 模型 C 和 B 和 A 的两个多对多字段有什么问题?
  • @DanialTz A、B 的配对很重要,例如:如果 A={1,2} 和 B={a,b},那么如果我只希望 C 与 1 相关, a和2,b,通过你的建议是不可能的,至少我看不到怎么做。

标签: django django-models django-1.7 manytomanyfield


【解决方案1】:

如果这符合您建模的整体逻辑,您可以通过OneToOne 关系将 A 和 B 配对,然后将 C 与 A 或 B 保持 ManyToMany 关系。

【讨论】:

  • 感谢您的评论,但不幸的是,这是不可行的。我最终做的是为 A-B 创建一个单独的表,然后用 C 进行多对多,无论如何这最终更适合我的整体架构。谢谢
猜你喜欢
  • 2019-09-15
  • 2023-04-06
  • 2016-07-17
  • 2019-12-16
  • 2012-11-30
  • 1970-01-01
  • 2020-05-04
  • 2014-06-26
  • 2011-12-20
相关资源
最近更新 更多