1

次のクエリがあります。

titles = Title.objects.all()

DISTINCT ('title')特定の状況下で、このクエリを取得する必要があります。distinct('title')Django は、MySQL バックエンドを使用している間は許可しません。

基本的に、私がやりたいことは次のようなものです:

titles = titles.extra('GROUP BY title')

どうすればこれを正しく行うことができますか?

4

2 に答える 2

1

メソッドを使用してみました.distinct()か?

titles = Title.objects.values('title','other_columns_you_care_about_and_not_distinct').distinct()

.distinct()on a.all()を実行すると、もちろん id 列が一意であれば、最初と同じ数の行が返されます。したがって、 で必要な列のみを引き戻します.values()

于 2012-10-01T21:26:11.587 に答える
0

[annotate][1]でグループ化する必要があります

titles = titles.annotate(Count("title")).order_by()
于 2012-10-01T21:23:01.103 に答える