【发布时间】:2021-07-07 17:39:43
【问题描述】:
我正在创建一个类似于房屋预订系统的项目,有一些特殊性(您发布房屋但您可以单独租用房间,并且您可以设置假期何时房屋不可用)在Django中(rest-framework,所以现在只有 API)。房屋模型可以简化为:
class House(models.Model):
title = models.CharField(max_length=127)
n_rooms = models.PositiveSmallIntegerField()
当房子不可用时,有一个日历可以保存:
class Unavailability(models.Model):
house = models.ForeignKey(House, on_delete=models.CASCADE, related_name="house_unavailability")
unavailable_rooms = models.SmallIntegerField()
from_date = models.DateField()
to_date = models.DateField()
还有一个在预订时保存的模型:
class Booking(models.Model):
house = models.ForeignKey(House, on_delete=models.CASCADE, related_name='booking')
booker = models.ForeignKey(UserProfile, on_delete=models.CASCADE)
start_date = models.DateField()
end_date = models.DateField()
n_rooms = models.PositiveSmallIntegerField(default=1)
rent = models.DecimalField(decimal_places=2, max_digits=8)
我现在正在尝试创建一个 API 来搜索在所选日期至少有一个房间可用的房屋(不是在节假日也没有预订)。 我见过一些similar cases 没有我所拥有的特殊性并使用其他语言,但没有使用 Django(我使用的是 MySQL,因此如果没有出现使用 Django 的干净解决方案,我可以回退到 SQL)
【问题讨论】:
-
您当前的设置有什么问题?
-
@Strawberry 并不是说有什么问题,只是我不知道该怎么做,而且我在网上也找不到任何信息
标签: mysql django django-rest-framework