2

我有用户、问题和答案的模型。现在我想显示用户回答的问题。

我在views.py中写这个:

    answers = Answer.objects.filter(author__username=user.username)[:5]

这在模板中:

{% for answer in answers %}
{{ answer.question.head }} <hr>
{% endfor %}

最后我看到 2 个问题用 hr 行重复了 5 次。我想看 2 个问题,即使用户对 2 个答案回答了 5 次,所以我试试这个:

    answers = Answer.objects.filter(author__username=user.username).values('question__head').distinct()[:5]

但是当我打开我的页面时,我只看到两条 hr 行,并且由于某种原因没有内容。我尝试了 ORM,它工作正常

>>> Answer.objects.filter(author__pk=2).values('question__head').distinct()
[{'question__head': u'question1?'}, {'question__head': u'question2?'}]

为什么在添加不同条件后 {{ answer.question.head }} 不再在模板中工作?

4

1 回答 1

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 %}
于 2013-05-02T09:08:51.773 回答