按天重新组合,然后按小时重新组合

时间:2015-01-08 19:22:09

标签: django django-templates

我有一个项目的字典列表。例如

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'])

这非常有帮助。实际上可能已经解决了我自己的问题...

0 个答案:

没有答案