1

特定のテーブルから個別の行をフェッチする必要がある django モデル クエリがありますが、何らかの理由でそれをフェッチしていません。

あなたの入力を教えてください

クエリ

Volunteercontacts.objects.order_by('name')- gives me the expected answer ie;ordering by name
Volunteercontacts.objects.order_by('name').distinct('name')- does not eliminate the duplicate
4

2 に答える 2

1

Volunteercontacts個別のモデルと個別のname列値を区別する必要があります。

異なるVolunteercontactsモデルの場合、distinct() を使用できますが、この場合は効果がありません。

Volunteercontacts.objects.order_by('name').distinct()

個別の列の値については、ディクショナリまたは値リストの配列を使用できます。

Volunteercontacts.objects.values_list('name', 
                                      flat=True).order_by('name').distinct()

また、distinct メソッドでフィールド名を指定する機能は、PostgreSQL でのみ使用できることに注意してください。

于 2012-05-01T19:19:03.990 に答える
0

Django 1.4 は、元の質問で期待される動作を提供します (Posgtres を使用していると仮定します):

https://docs.djangoproject.com/en/1.4/ref/models/querysets/#distinct

于 2012-05-01T20:42:53.070 に答える