【发布时间】:2013-08-25 12:54:42
【问题描述】:
我想要一些关于如何进一步开发我的模型和表格的建议。
此模型目前允许我保存链接到 m2m 关系中的疾病和状态的选项。如果我想保存结果以及与状态、疾病和选项相关联的相关值,我将如何进一步构建它?
例如,结果将具有与之关联的特定选项。选项将与特定疾病相关联的特定状态。对于与特定选项相关的每个结果,都会为其分配一个值。
我认为我需要一个中间表,因为用户将分配给它的结果值。我很困惑如何将结果链接到选项,因为选项是 m2m。
class Option(models.Model):
disease = models.ForeignKey(Disease)
option = models.CharField(max_length=300)
class Outcome(models.Model):
disease = models.ForeignKey(Disease)
outcome = models.CharField(max_length=200)
class DiseaseState(models.Model):
state = models.CharField(max_length=300)
disease = models.ForeignKey(Disease)
option = models.ManyToManyField(Option, blank=True)
#outcome = models.ManyToManyField(Outcome, blank=True) #will adding this solve my use case? It does not seem like outcome will link to option.
更新:
为了清楚起见:疾病具有疾病状态。疾病状态有一个选项。一个选项有结果。结果具有分配给它的值。选项和结果都是列表,用户可以从列表中选择。
【问题讨论】:
-
好的,看起来你的设计已经完成了。如果这些“具有”关系中的任何一个是 m2m,那么将为您创建连接表,然后您就离开了。
标签: python database django database-design