2011-04-27 99 views
0
es = Employee.objects.filter(a few filters).aggregate(Max('Age')) 

該查詢會給我最老的員工,所以我也想知道與該行相關的其他信息,例如id。Django:從聚合查詢中獲取其他字段的值

我該如何做到這一點?謝謝。

+0

你可以在你的問題更精確?混合id(主鍵)和聚合似乎是矛盾的(例如幾個員工可能有相同的最大('年齡') – VGE 2011-04-27 09:52:32

回答

1

你並不需要聚集你只需要通過降訂購中世紀查詢設置

Employee.objects.filter(a few filters).order_by(['-Age'])[0] 

會給你最古老的

或者,如果你有幾個老項目

age = None 
for x in Employee.objects.filter(a few filters).order_by(['-Age']): 
    if age and age != x.Age: 
     break 
    age = x.Age 
+0

感謝您的回答,但我將不得不使用匯總函數 – user469652 2011-04-27 07:02:24

+0

無論如何,最後,通過使用order_by -_-!解決了問題。謝謝。 – user469652 2011-04-27 12:15:21

0

使用annotate()而不是aggregate()