如何在django ORM中获得最大值

Dav*_*542 10 python django django-models

>>> 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)}]
Run Code Online (Sandbox Code Playgroud)

在这里获得最大值的最佳方法是什么?在python中还是在ORM中?

Dav*_*542 27

>>> from django.db.models import Max
>>> AuthorizedEmail.objects.aggregate(Max('added'))
Run Code Online (Sandbox Code Playgroud)

并获取模板中的值:

{{ item.added__max }}
Run Code Online (Sandbox Code Playgroud)

  • `all()`在这里是多余的 (13认同)

Mig*_*rro 6

latest根据added日期返回表中的最新对象:

AuthorizedEmail.objects.filter(group=group).latest('added')
Run Code Online (Sandbox Code Playgroud)

  • 这并不能回答 OP 的问题,但它是我的问题的正确解决方案。 (2认同)

Bur*_*lid 5

AuthorizedEmail.objects.filter(group=group).order_by('-added')[0]
Run Code Online (Sandbox Code Playgroud)