2017-05-21 4 views
0

annotateを使用してDjangoのクエリセットをクエリして、それぞれ異なる 'field2'の計算を取得しようとしています。Django annotateが別のものを返さない

[{ 'field2_value1': '1'}、{ 'field2_value2': '2'}]私はそれがこのようなものを返すように期待していますが

offer_lines.filter('field1'=x).order_by().values('field2').annotate(
       total=F('field3') * F('field4') 

:クエリは次のようになります

同じfield2値に対して複数のエントリが取得されています。これは次のようになります:

[{field2_value1 ':' 1 '}、{' field2_value1 ':' 2 '}、{' field2_value1 ':' 5 '}、{' field2_value2 ':' 2 ' }、{'field2_value2': '1'}]

質問にはorder_by()が含まれていますが、他の質問では時々問題がありますが、それは私を助けませんでした。一意のフィールド2の値ごとに1つのエントリしか返さないようにクエリをどのようにクエリできますか?あなたがdistinct方法

ドキュメント連鎖を試すことができます

+0

は、あなたの完全なモデルクラスと、使用している完全なクエリを提供しています。どんな出力が必要かを非常にはっきりと説明してください。 –

答えて

関連する問題