2012-05-19 104 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)}] 

¿Cuál sería la mejor manera de obtener el valor máximo aquí? En Python o en el ORM?Cómo obtener el valor máximo en django ORM

Respuesta

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

Y para buscar el valor de la plantilla:

{{ item.added__max }} 
+11

'todos()' es redundante en este caso –

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

AuthorizedEmail.objects.filter (group = grupo) .order_by ('- añadió') primera hoja – epineda

2

latest devuelve el último objeto en la tabla de acuerdo a la fecha added:

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

Eso no responde a la pregunta del OP, pero es la solución correcta para mi problema. –

Cuestiones relacionadas