1
class A:
    name = Char...

class B:
    base = ForeignKey(A)
    value = Integer..

B.objects.values('a__name','value').distinct('a__name')

上記でわかるように、関連するオブジェクトの名前でグループ化された B オブジェクトを取得しようとしています。ただし、distinct 関数はパラメーターを取りません。

注釈と集計で試しましたが、グループ化できませんでした。a__name これも試しvalues_listましflat=Trueたが、列名は 1 つだけですが、フィールドa__namevalueフィールドの両方が必要です。

Djangoでそれを行うにはどうすればよいですか? ありがとう

4

1 に答える 1

0

まず、Django 1.4+ が必要です。より古いバージョンを実行している場合は、運が悪いです。次に、PostgreSQL を使用している必要があります。パラメータを に渡すことdistinctは、他のデータベースでは機能しません。

ドキュメントをdistinct参照し、「注」行に注意してください。

上記の条件を満たさない場合は、常にraw queryを発行することもできます。

于 2012-07-02T14:45:04.167 に答える