擅长:python、mysql、java
<p>一个简单的解决方案,但不是正确的方法是使用<a href="http://docs.djangoproject.com/en/dev/topics/db/sql/#topics-db-sql" rel="noreferrer">raw SQL</a>:</p>
<pre><code>results = Members.objects.raw('SELECT * FROM myapp_members GROUP BY designation')
</code></pre>
<p>另一种解决方案是使用<code>group_by</code>属性:</p>
<pre><code>query = Members.objects.all().query
query.group_by = ['designation']
results = QuerySet(query=query, model=Members)
</code></pre>
<p>现在可以遍历results变量来检索结果。注意<code>group_by</code>没有文档记录,可能在Django的未来版本中更改。</p>
<p>还有。。。为什么要使用<code>group_by</code>?如果不使用聚合,可以使用<code>order_by</code>来获得相同的结果。</p>