使用以下型号:
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',
)
Run Code Online (Sandbox Code Playgroud)
要获得预订数量低于或等于5的天数,我会:
SELECT day_id
FROM meal_reservation
GROUP BY day_id
HAVING count(*) <= 5
Run Code Online (Sandbox Code Playgroud)
但是如何使用Django ORM呢?
Tod*_*dor 10
阅读有关使用值+注释的组合的文档,这是您需要的:
Reservation.objects.values('day').annotate(cnt=models.Count('id')).filter(cnt__lte=5)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3049 次 |
| 最近记录: |