我有这个模型:
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 的情况下做到这一点?