現在、regroup テンプレート タグを使用して、ブログ投稿の公開日を公開された年順に並べ替えようとしています。
再グループ化するためにコンテキストに渡すクエリセットは次のとおりです。
'post_archive_months': Post.objects.published().\
filter(site__id=settings.SITE_ID).dates('publish','month').reverse(),
テンプレートでは、次のように呼び出します。
<section class="blog_archive_block">
<h4>Blog Archive</h4>
{% regroup post_archive_months by year as post_archive_dates %}
<ul class="" id="">
{% for year in post_archive_dates %}
<li>
<div class="header_box">
<h4>{{year.grouper}} <a href="#" class="arrow_up"></a></h4>
</div>
<div class="content_box">
<ul class="month">
{% for month in year.list %}
<li>
<a href="/blog/{{year.grouper}}/{{month|date:'M'}}">{{month|date:"F"}}</a>
</li>
{% endfor %}
</ul>
</div>
</li>
{% endfor %}
</ul>
</section>
返されるデータは次のとおりです。
[{'list': [[datetime.datetime(2012, 9, 1, 0, 0, tzinfo=<UTC>), datetime.datetime(2012, 5,
1, 0, 0, tzinfo=<UTC>), datetime.datetime(2012, 4, 1, 0, 0, tzinfo=<UTC>),
datetime.datetime(2011, 10, 1, 0, 0, tzinfo=<UTC>), datetime.datetime(2011, 8, 1, 0, 0,
tzinfo=<UTC>)]], 'grouper': None}]
ハタは1年か、少なくともNoneタイプ以外の何かだと思っていましたが、そうではないようです.
私からさらに情報が必要な場合はお知らせください。ありがとう!