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

Cách tốt nhất để có được giá trị tối đa ở đây là gì? Trong python hoặc trong ORM?Cách nhận giá trị tối đa trong django ORM

Trả lời

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

Và để lấy giá trị trong mẫu:

{{ item.added__max }} 
+11

'tất cả()' là dự phòng tại đây –

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

Được ủy quyềnEmail.objects.filter (nhóm = nhóm) .order_by ('- added'). First() – epineda

2

latest trả về đối tượng mới nhất trong bảng theo ngày added:

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

Điều đó không trả lời câu hỏi của OP, nhưng là giải pháp phù hợp cho vấn đề của tôi. –

Các vấn đề liên quan