我已编写代码来检索某些对象,并按日期对它们进行了排序。
def updates(request):
updates = Update.objects.order_by('-update_date')
context = {
'updates' : updates
}
return render(request, 'main/update.html', context)
我想创建一个字典,以便'键'是对象的日期字段的年份值,以及'值'是该年下的所有对象的列表。有什么办法可以实现吗?
提前感谢您的帮助。
答案 0 :(得分:0)
您可以尝试使用groupby来完成这项工作。
from itertools import groupby
def updates(request):
data = {}
updates = Update.objects.order_by('-update_date')
sorted_updates = sorted(updates, key=lambda item: item.update_date.strftime('%Y'))
for year, results in groupby(sorted_results, lambda item: item.created_on.strftime('%Y')):
data[year] = list(results)
context = {'updates': data}
return render(request, 'main/update.html', context)