私はこのモデルを持っています:
class Person(models.Model):
city = models.CharField(max_length=20, blank=True)
added_date = models.DateField(default=datetime.date.today)
月の表とその月に追加された人数(つまり、1月に5人、2月に10人、3月に8人など)を含むテンプレート/ビューを作成したいと思います。私は、各都市のすべての人々のために、以下を使用して同様のテーブルを持っています。
cities = Patient.objects.values('city').annotate(city_count=Count('city')).order_by('-city_count')
月のテーブルでそれを行う方法がわかりません。特定の月をフィルタリングしてから、すべてを数えることができます。しかし、それを毎月ループで実行する必要があります。これは、複数のデータベースヒットになります。やりたくない。
SQLを記述せずにdjangoのAPIを使用するだけでこれを行う方法はありますか?