查询值distinct,mysql,django

时间:2013-04-26 08:16:46

标签: mysql django-orm

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

我在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}}在添加不同条件后不再适用于模板?

1 个答案:

答案 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 %}