通过使用django orm的count(*)进行分组
使用以下型号:通过使用django orm的count(*)进行分组,django,django-orm,Django,Django Orm,使用以下型号: class Day(models.Model): date = models.DateField( unique=True, null=False, blank=False, ) class Reservation(models.Model): user = models.ForeignKey( User, null=False, blank=False,
class Day(models.Model):
date = models.DateField(
unique=True,
null=False,
blank=False,
)
class Reservation(models.Model):
user = models.ForeignKey(
User,
null=False,
blank=False,
related_name='reservations',
verbose_name=_('Utilisateur'),
)
day = models.ForeignKey(
Day,
null=False,
blank=False,
related_name='reservations',
)
要获取预订数量低于或等于5的天数ID,我需要:
SELECT day_id
FROM meal_reservation
GROUP BY day_id
HAVING count(*) <= 5
选择日期\u id
从餐厅预订
按天分组\u id
让count(*)阅读有关使用组合的文档,这就是您需要的:
from django.db.models import Count
Reservation.objects.values('day').annotate(cnt=Count('id')).filter(cnt__lte=5)
谢谢,我尝试不使用.valuesgotta do从django.db.models导入计数