Согласно doc , archive_index
рассчитывает только годы.Возможно, вы захотите написать группировку год / месяц:
def track_archive(request):
tracks = Track.objects.all()
archive = {}
date_field = 'date'
years = tracks.dates(date_field, 'year')[::-1]
for date_year in years:
months = tracks.filter(date__year=date_year.year).dates(date_field, 'month')
archive[date_year] = months
archive = sorted(archive.items(), reverse=True)
return date_based.archive_index(
request,
date_field=date_field,
queryset=tracks,
extra_context={'archive': archive},
)
Ваш шаблон:
{% for y, months in archive %}
<div>
{{ y.year }} archives:
{% for m in months %}
{{ m|date:"F" }}
{% endfor %}
</div>
{% endfor %}
y и m являются объектами даты, вы должны иметь возможность извлекать любую информацию о формате даты вСоздайте свои URL.