我目前正在研究我的Django项目,我在尝试制作模型时遇到了一些麻烦,并且使用我的逻辑结构作为模板对它们进行了规范化。
我的应用需要将数据分为13列。行是它们依赖的列(虚幻列名称):
+---+---+---+---+---+---+---+---+-------+-------+-------+---+---+
| A | B | C | D | E | F | G | H | I | J | K | L | M |
+---+---+---+---+---+---+---+---+-------+-------+-------+---+---+
| - | - | - | B | A | A | B | B | CONST | CONST | CONST | C | C |
| - | - | - | C | B | B | C | C | - | - | - | D | D |
| - | - | - | - | C | C | - | - | - | - | - | - | - |
+---+---+---+---+---+---+---+---+-------+-------+-------+---+---+
A,D,E,F,G和H是唯一具有“真实”数据的列。其余的只是关系,但一旦创建它们是常量。常量命名列不依赖于任何内容,它们对于每种情况都是相同的。
应用规范化我得到了:
表一
+---+---+---+---+---+
| B | C | D | G | H |
+---+---+---+---+---+
| x | x | - | - | - |
+---+---+---+---+---+
表二
+---+---+---+---+---+
| A | B | C | E | F |
+---+---+---+---+---+
| x | x | x | - | - |
+---+---+---+---+---+
表III
+---+---+---+---+
| C | D | L | M |
+---+---+---+---+
| x | x | - | - |
+---+---+---+---+
我看到的问题是我不知道如何使用多个主键,其中一部分作为其他表中的主键。我应该创建某种类型的中间模型吗?
关于常量我认为不使用DB就是一个常量类模型所以我可以将它们的值用作其他模型,而不需要查询和没有额外的代码。
class Constants(models.Model):
I = VALUE
J = VALUE
K = VALUE
您怎么看?