簡體   English   中英

Django數據庫模型設計-鏈接3個模型

[英]Django database model design - linking 3 models

我的項目是用Django編寫的。 我有一種學術論文模型。

class Article(models.Model):
     title = models.CharField(max_length=300)
     abstract = models.TextField(blank=True)
     ...

對於文章可能響應的問題,我有另一個模型:

class Question(models.Model):
     question = models.CharField(max_length=300)
     article = models.ManyToManyField(Article)

文章可以通過以下三種方式之一回答問題:“是”,“否”和“證據不足”。 但是同一篇文章可能會因問題而有所不同。 因此,例如,第1條可能對問題1回答“是”,對問題2回答“否”,對問題3回答“證據不足”。

我正在努力將這些響應設計到模型中。 我可以為以下響應創建一個單獨的模型:

class Response(models.Model):
     response = models.CharField(max_length=25)

然后用我的三個回答(“是”,“否”,“證據不足”)填充該模型,然后在我的“文章”模型中添加一個字段,例如:

response = models.ManyToManyField(Response)

但是,如何將文章的答案與問題聯系起來? 我如何告訴數據庫Article1對問題1的回答為“是”,對問題2的回答為“否”,對問題3的回答為“證據不足”? 謝謝。

這應該起作用,然后:

class Response(models.Model):
    # consider a different name for this field? Or not.
    response = models.CharField(max_length=25)
    article = models.ForeignKey(Article)
    question = models.ForeignKey(Question)

另外,如果Response.response確實在3個選擇上,則考慮對int而不是CharField使用choices參數。

這里->

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM