【发布时间】:2022-01-12 15:34:18
【问题描述】:
我目前正在显示所有未预订约会的日期。
from datetime import date, timedelta
num_days = 5
start_date = date.today()
timeframe = [start_date + timedelta(days=d) for d in range(num_days)]
exclude = list(Appointment.objects.values_list("start_appointment__date", flat=True).distinct())
set(timeframe) - set(exclude)
约会模式
class Appointment(models.Model):
user = models.ForeignKey(Account, on_delete=models.CASCADE)
seat = models.ForeignKey(Seat, on_delete=models.SET_NULL, null=True)
work = models.ManyToManyField(Therapy, related_name='work', verbose_name=_('Work'), blank=True)
start_appointment = models.DateTimeField(default=timezone.now, blank=True)
end_appointment = models.DateTimeField(default=timezone.now, blank=True)
例如,我预约了:
[datetime.date(2021, 12, 8), datetime.date(2021, 12, 7), datetime.date(2021, 12, 7), datetime.date(2021, 12, 7)]
还有没有预定的日期:
{datetime.date(2021, 12, 10), datetime.date(2021, 12, 9), datetime.date(2021, 12, 11)}
我还想显示未预订日期的可用时间,时间间隔为上午 11:00 到晚上 21:00:。
当前的实现是否可行?如果是,我该如何实现?如果不能,请您建议另一种方法吗?
谢谢
【问题讨论】:
标签: django list datetime django-queryset