2012-05-19 12 views
8
>>> AuthorizedEmail.objects.filter(group=group).values('added') 
[{'added': datetime.datetime(2012, 5, 19, 13, 8, 7)}, 
{'added': datetime.datetime(2012, 5, 19, 13, 8, 7)}, 
{'added': datetime.datetime(2012, 5, 19, 13, 7, 23)}, 
{'added': datetime.datetime(2012, 5, 19, 13, 8, 7)}] 

什麼是獲得最大值的最佳方法?在python中還是在ORM中?如何在django ORM中獲得最大值

回答

22
>>> from django.db.models import Max 
>>> AuthorizedEmail.objects.all().aggregate(Max('added')) 

並獲取在模板中的值:

{{ item.added__max }} 
+11

'所有()'是多餘這裏 –

4
AuthorizedEmail.objects.filter(group=group).order_by('-added')[0] 
+0

AuthorizedEmail.objects.filter(組=基團).order_by( ' - 增加')第一() – epineda

2

latest表中根據added返回日期的最新對象:

AuthorizedEmail.objects.filter(group=group).latest('added') 
+0

這並沒有回答OP的問題,但對我的問題是正確的解決方案。 –