我的项目是用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)
文章可以通过以下三种方式之一回答问题:'是',' no'以及'证据不足'。但是同一篇文章可能会根据问题做出不同的反应。例如,第1条可能会回答“是”'问题1,' no'问题2和证据不足'问题3。
我正在努力解决如何将这些反应设计到我的模型中。我可以为下面的响应创建一个单独的模型:
class Response(models.Model):
response = models.CharField(max_length=25)
然后用我的三个回复填充该模型('是',' no',''证据不足')然后在我的文章模型中添加一个字段回应如此:
response = models.ManyToManyField(Response)
但接下来我将如何链接文章对问题的回答?我如何告诉数据库第1条对问题1的回答是“是”,对问题2的回答是“不”'它对问题3的回答是“证据不足”?谢谢。
答案 0 :(得分:0)
这应该有用,然后:
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
。
请参阅here ->