我有用户,问题和答案的模型。现在我想显示用户回复的问题。
我在views.py中写这个:
answers = Answer.objects.filter(author__username=user.username)[:5]
并在模板中:
{% for answer in answers %}
{{ answer.question.head }} <hr>
{% endfor %}
我看到2个问题最后用hr行重复5次。我想看到2个问题,即使用户回复5次到2个答案,所以我试试这个:
answers = Answer.objects.filter(author__username=user.username).values('question__head').distinct()[:5]
但是当我打开我的页面时,由于某种原因,我看到只有两小时的行并没有内容。 我试过ORM并且它正常工作
>>> Answer.objects.filter(author__pk=2).values('question__head').distinct()
[{'question__head': u'question1?'}, {'question__head': u'question2?'}]
为什么{{answer.question.head}}在添加不同条件后不再适用于模板?
答案 0 :(得分:0)
好吧,最后我用以下几段代码解决了它:
#views.py
answers = Answer.objects.filter(author__username=user.username).values_list('question__head', flat=True).distinct()[:5]
#template
{% for answer in answers %}
{{answer}}
{% endfor %}