3
필드로 정렬 된 Events
테이블이 있습니다.Django - 템플릿의 특정 필드로 쿼리 그룹화하기
내가 템플릿에서 이벤트를 인쇄 할,하지만 각 날짜에 대해 별도의 사업부를 사용하여, 예컨대 :
<div class="content">
<h1>December 30th</h1>
<!-- div for Event 1 from December 30th -->
<!-- div for Event 2 from December 30th -->
</div>
<div class="content">
<h1>December 31st</h1>
<!-- div for Event 1 from December 31st -->
<!-- div for Event 2 from December 31st -->
<!-- div for Event 3 from December 31st -->
</div>
내가 이걸 어떻게해야합니까?
현재 해결 방법은 날짜를 키로하는 사전에 Event 개체를 넣는 것입니다. 이것은 주문 문제가 있으며 비효율적이며 비효율적입니다.
보기 :
events = Event.objects.select_related().all()
events_dict={}
for event in events:
date=event.date.strftime('%d %B %Y')
if date in events_dict:
events_dict[date].append(event)
else:
events_dict[date] = [event]
템플릿 :
{% for date, events in events_dict.items %}
<div class="content">
<h1>{{date}}</h1>
{% for event in events %}
{% include "partials/event.html" %}
{% endfor %}
</div>
{% endfor %}
[regroup] (https://docs.djangoproject.com/ko/1.3/ref/templates/builtins/#regroup) 태그를 사용해 보셨습니까? – demalexx
@ race1 아니, 나는 그것을 찾지 못했다. 고맙습니다. 당신이 대답을 게시하면 그것을 받아 들일 테니 – bcoughlan
고마워,하지만 또 다른 좋은 대답이있다. :) – demalexx