На моем веб-сайте у меня есть временная шкала, где пользователь может видеть все организованные события (предстоящие и прошлые), для этого я создал модель событий, у которой есть DateTimeField, и теперь я пытаюсь для группировки результатов, чтобы отобразить их в шаблоне. Желаемый результат:Группировка событий по годам и по месяцам
- 2014
-- January
---- event1
---- event2
-- February
---- event1
---- event2
....
- 2015
-- January
....
Моя попытка группировки по годам:
events = {}
last_year = None
current_year_events = []
for event in ProofEvent.objects.all().order_by("date"):
year = event.date.year
if year != last_year:
current_year_events.append(event)
events[year] = current_year_events
last_year = year
current_year_events = []
print event.title
else:
current_year_events.append(event)
print event.title
print events
взглянуть на 'itertools.groupby' – eumiro
Вы хотите сгруппировать в месяц? – laike9m
Это также можно сделать в шаблоне довольно легко: https://docs.djangoproject.com/en/1.7/ref/templates/builtins/#regroup В вашем случае '{% перегруппируйте события по дате.год как годы %} ' – Wolph