我有一个项目的字典列表。例如
activities = [
{'start': datetime.datetime(2015, 9, 21, 8, 0), 'end': datetime.datetime(2015, 9, 21, 9, 0),
u'name': u'First Activity', 'description': 'desc of first activity...'},
{'start': datetime.datetime(2015, 9, 21, 9, 0), 'end': datetime.datetime(2015, 9, 21, 10, 0),
u'name': u'Second Activity', 'description': 'desc of next activity...'},
{'start': datetime.datetime(2015, 9, 22, 8, 0), 'end': datetime.datetime(2015, 9, 21, 9, 0),
u'name': u'Third Activity', 'description': 'desc of third activity...'},
{'start': datetime.datetime(2015, 9, 23, 8, 0), 'end': datetime.datetime(2015, 9, 21, 9, 0),
u'name': u'Next Activity', 'description': 'desc of next activity...'},
{'start': datetime.datetime(2015, 9, 23, 9, 0), 'end': datetime.datetime(2015, 9, 21, 10, 0),
u'name': u'Another Activity', 'description': 'desc of another activity...'},
{'start': datetime.datetime(2015, 9, 21, 10, 0), 'end': datetime.datetime(2015, 9, 21, 11, 0),
u'name': u'New Activity', 'description': 'desc of new activity...'}
]
我想先重新组合,然后按小时进行第二次重组。
我遇到了麻烦,只能在一天或一小时内重新上班。
例如:
{% regroup activities by start|date:"l, n/d" as activity_list_by_day %}
{% for session in activity_list_by_day %}
{{ session.grouper }}
{% endfor %}
不好运。我不知道如何指定我希望重组在当天工作。
有没有办法操纵我的开始'这些重组的项目?或者我可能需要创建一些额外的项目来使用吗?
编辑添加:我现在看到我可以通过以下方式排序我的活动列表:
activities.sort(key=lambda item:item['start'])
这非常有帮助。实际上可能已经解决了我自己的问题...