假设我有四个成对的 M2M 相关模型:A、B、C、D。我创建了一个中间模型 ABCD 来建立它们之间的关系。如果数据库中有很多重复的列对,将中间模型规范化为多个模型是正常的做法吗?
我担心的是: 1. 分解 ABCD 会使 models.py 变得杂乱无章 2. 多个 2 列表是否比一个四列表好(带有重复的列对)?
还有一些可能对您的设计有所帮助的问题。
我认为您所做的还可以,但我更倾向于使用多个 2 列表(但这完全取决于您对我的三个问题的回答)。我认为 2 列相交表使查询和数据完整性控制更容易。
编辑(在您回复后):
在进一步审查后,我认为查询等更容易的方法将是单 4 列表。我通常不喜欢这种方法,但如果您的数据实际上都是相关的并且都存在,那么使用第一种方法查询数据将为您节省很多时间。
我必须就此建议向我的 DBA 朋友道歉;)