2011-11-22 20 views
0

我有一個模型「狀態」,字段爲project_idtimestampproject_id有時爲空,如果狀態與項目沒有關聯(更具體地說,如果狀態發生在我們知道什麼項目導致它之前)。你可以在Django中做有條件的order_by/regroup嗎?

我要訂購一個輸出表如下:

  • 組具有相同project_id在一起的狀態
  • 不組中的空project_idš在一起
  • 爲了這些團體和單身的最新時間戳每組/單身人士

可以這樣做嗎?我幾乎可以通過按時間戳排序然後使用重新組合來實現它。這「幾乎」是正確的,因爲一組相同的project_id可以通過插入空值來分裂。我很確定它可以在SQL(GROUP BY isnull(experiment_id,-id))中完成,但是Django允許它嗎?

回答

0

在django中聚合,你最好是做原始sql,因爲它比生成的orm sql快得多。 Raw sql Django docs

+0

太棒了,我不知道你可以做到這一點。 –

相關問題