2017-05-21 1 views
0

annotate를 사용하여 Django의 쿼리 세트를 쿼리하여 각기 다른 'field2'에 대한 계산을 얻으려고합니다.Django annotate가 구별되지 않음

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

내가 그것을이 보이는 뭔가를 반환 할 것으로 예상하고 있지만 : 같은 쿼리 보인다

[{ 'field2_value1': '1'}, { 'field2_value2': '2'}]

동일한 field2 값에 대해 여러 항목이 나타납니다. 그러면 다음과 같이 보입니다.

{{field2_value1 ':'1 '}, {'field2_value1 ':'2 '}, {'field2_value1 ':'5 '}, {'field2_value2 ':'2 ' }, { 'field2_value2': '1'}]

다른 질문에서 볼 수 있듯이 질의에 order_by()가 있지만 때때로 문제가됩니다. 고유 한 field2 값마다 하나의 항목 만 반환하도록 쿼리하려면 어떻게해야합니까?

+0

을 전체 모델 클래스와 사용중인 전체 쿼리를 제공합니다. 당신이 원하는 출력을 아주 명확하게 설명하십시오. –

답변

0

당신은 distinct 방법을

문서를 체인 시도 할 수 있습니다 - here

관련 문제