1
我想獲取所有最後的記錄基於id,按月排序。Django查詢獲得最後一條記錄通過
這給了我最後的記錄,
qs = Cashflow.objects.filter (acct_id = a.id).order_by('-month')[:1]
這組帳戶,
qs = Cashflow.objects
.filter (acct_id = a.id)
.values ('acct_id')
.annotate (count = Count ('acct_id'))
.values ('acct_id', 'count')
.order_by ()
我怎麼怎麼可以結合這兩個查詢到嗎?
按acct_id分組,按「月」排序並獲取最後一條記錄。
這甚至可能嗎?感謝
編輯:
這是什麼,我試圖做的SQL版本。
select *
from cashflow t
inner join (
select acct_id, max (`month`) as MaxDate
from cashflow
where acct_id IN (1,2,3,...)
group by acct_id
) tm on t.acct_id = tm.acct_id and t.month = tm.MaxDate
order by acct_id
這可以在純Django中完成,我應該只是做一個原始查詢嗎?
歡呼聲。
它通常是更好地解釋一個解決方案,而不是僅僅張貼的匿名代碼的某些行。你可以閱讀[我如何寫一個好的答案](https://stackoverflow.com/help/how-to-answer),還有[完全解釋基於代碼的答案](https://meta.stackexchange.com /問題/ 114762 /解釋-entirely-%E2%80%8C%E2%80%8Bcode基於-答案)。 –
@MassimilianoKraus謝謝你的評論,我補充說明。 –
好得多。 +1的努力。 –