2012-05-19 11 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的问题,但对我的问题是正确的解决方案。 –