首页 > 解决方案 > 获取 Django 中查询集的计数

问题描述

我正在制作一个医生预约系统,我想计算我在特定日期有多少预约,所以不要这样做:

appointments_count = Appointment.objects.filter(user = user, date = specific_date).count()

如果我制作另一个表来跟踪每个日期的约会计数会更有效吗,以避免更多的 i/o 磁盘操作

class Date_Counter(models.Model):
    doctor = models.ForeignKey(Doctor, on_delete=models.CASCADE)
    date = models.DateField()
    count = models.PositiveIntegerField(default=1)

并感谢大家

标签: pythondjangoapirest

解决方案


永远不要硬编码可以通过查询获得的字段(这是关系数据库的基本规则)。如果使用第二种方法,则需要始终更新计数,因此性能也最差。


推荐阅读