【发布时间】:2021-09-29 23:42:41
【问题描述】:
我有一个看起来像这样的 Django 模型
Class Reservation(models.Model):
room = models.ForeignKey(Room)
start_date = models.DateTimeField(default=timezone.now, null=True)
end_date = models.DateTimeField(default=timezone.now, null=True)
person = models.ManyToManyField(Person, related_name="people")
一个房间可以有多个预订,一个预订可以容纳多个人。
我想在接下来的 30 天内使用给定房间中的 availability 空间。
可用性只是一个房间可以容纳的总人数 - 活跃出租的总人数。
这是为了让预订新房源的用户知道一个房间可以容纳多少人。
预期结果
{
"22-Jul-2021": 5,
"23-Jul-2021": 2,
"24-Jul-2021": 5,
"25-Jul-2021": 3,
"26-Jul-2021": 8,
"27-Jul-2021": 1,
}
【问题讨论】:
-
一个 SQL 查询也可以解决这个问题
-
一个用例是 AirBnB 的预订可用性系统
标签: mysql django database django-models django-rest-framework