我的项目用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)
一篇文章可以通过以下三种方式之一回答一个问题:"是","否"one_answers"不足的证据"。但是,根据问题,同一篇文章可能会有所不同。因此,例如,第1条可能对问题1回答"是","否"对问题2和"不足的证据"。
。我为如何在模型中设计这些响应而苦苦挣扎。我可以为响应创建一个单独的模型:
class Response(models.Model):
response = models.CharField(max_length=25)
然后用我的三个响应('yes'',否',"证据不足")填充该模型,然后在我的文章模型中添加一个字段,以备这样的响应:
response = models.ManyToManyField(Response)
但是,我将如何将文章的回答与问题联系起来?我如何告诉数据库,第1条对问题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个选择,请考虑将choices
参数用于INT,而不是CharField
。
请参阅此处 ->