Или без CBV
views.pyfrom django.shortcuts import render
from django.db.models import Count
from django.db.models.functions import TruncMonth
from .models import Article
def group_by_month(request):
groups = Article.objects
.annotate(month=TruncMonth('publication_date')) # Извлекаем месяц из даты
.values('month') # Группируем по месяцам
.annotate(c=Count('id')) # Количество статей в месяце
return render(request, 'monthes.html', {'monthes': groups})
def articles_in_month(request, month):
articles = Article.objects.filter(publication_date__month=month)
return render(request, 'articles', {'articles': articles})