我在Django有这样一个模型:
class Choice(models.Model):
question = models.ForeignKey(Question)
choice_text = models.CharField(max_length=150)
answer = models.BooleanField(blank=False, default=False)
我有一个这样的问题:[1, 2]
现在,我想得到question
的正确答案。所以,我喜欢这样:
>>> for i in question:
... Choice.objects.filter(question=i, answer=True)
...
[<Choice: yes>]
[<Choice: ok1>]
相反,我希望正确答案出现在清单上,比如:
correct_answer = ['yes', 'no']
如何做到这一点?你知道吗
您可以使用
in
,而不是在循环中进行多个查询。然后迭代结果,看看choice_text
是否等于yes
:希望有帮助。你知道吗
另一种选择:
如果您只需要一个
choice_text
的平面列表,那么可以将.values_list()
与flat=True
参数一起使用。例如:这是关于
.values_list()
:https://docs.djangoproject.com/en/dev/ref/models/querysets/#values-list的文档相关问题 更多 >
编程相关推荐