我正在为Django开发一个问卷类型的应用程序。 当他们为每个参与者创建一个完整的问题答案对象时,他们为每个问题对象创建一个答案链接。在
class AnswerSet(models.Model):
user=models.ForeignKey(User)
questionnaire=models.ForeignKey(Questionnaire)
class QuestionAnswer(models.Model):
question = models.ForeignKey(Question)
answer = models.CharField(max_length=255)
answer_set = models.ForeignKey(AnswerSet)
应用程序允许人们重新回答问卷,在这种情况下,使用他们现有的答案呈现表单,对于更新的答案,将创建并保存一个新的QuestionAnswer对象。在
因此,我的问题是:
为了在参与者编辑问卷时显示最新答案,我希望能够获得答案集,然后过滤问题答案,以便为每个问题获得一个问题答案,如果任何问题有多个问题答案,我只希望看到最近的答案
多亏了@Rohan的建议和这篇文章Django query select distinct by field pairs我找到了一个对我有用的解决方案,希望其他人也会发现它有用! 我添加了一个新模型:
并重写了QuestionAnswerModel上的save函数,使其看起来像:
^{pr2}$现在,每当我需要得到所有最新问题答案的列表时,我可以这样做:
相关问题 更多 >
编程相关推荐