[英]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.