我需要发现模型的begin_date
和end_date
字段的间隔
class Reserved(models.Model):
begin_date = models.DateTimeField()
end_date = models.DateTimeField()
简而言之,当用户将某些数据保存到表单中的数据库时,应进行验证。验证应检查区间begin_date
和end_date
中是否有保留并给出错误。
我试过这个,但它不起作用:(
def save(self, commit=True):
date_validation = Reserved.objects.filter(room=self.room).exists() and \
Reserved.objects.filter(
begin_date__gte=datetime.date.today(),
end_date__lte=datetime.date.today()
)
if date_validation:
raise RuntimeError('You can not reserve this room. Interval')
super(ReserveRoomForm, self).save(commit)
例如,在开始日期23 - 1月和结束日期29 - 1月有预订但用户试图保留25 - 1月
如何实现它? 感谢)