У меня есть эта модель:
class Person(models.Model):
city = models.CharField(max_length=20, blank=True)
added_date = models.DateField(default=datetime.date.today)
Я хочу создать шаблон / представление с таблицей месяцев и количеством людей, добавленных в этом месяце (то есть 5 в январе, 10 в феврале, 8 марта и т. Д.). У меня есть похожая таблица для всех людей из каждого города, используя:
cities = Patient.objects.values('city').annotate(city_count=Count('city')).order_by('-city_count')
Я не знаю, как это сделать для моего месячного стола. Я мог бы отфильтровать за определенный месяц, а затем сосчитать все. Но тогда мне нужно было бы проходить этот цикл каждый месяц, что было бы многократным обращением к базе данных. Я не хочу этого делать.
Есть ли способ сделать это без написания sql и просто с помощью API django?