我必须在Django模型的桌子上存储餐厅。每个餐厅都有其开放和关闭时间。对于每个用户,我都必须检查某个特定餐厅是否相对于当前时间,用户搜索可用餐厅。
答案 0 :(得分:1)
为了进行比较(这是一个非常简单的情况),您将执行以下操作:
is_open = user_request_time > restaurant.open and user_request_time < restaruant.close
但这可能太简单了。餐馆在不同的日期营业时间不同。
因此,您可以尝试给每个餐厅提供Schedule
对象:
class Schedule(models.Model):
sunday_open = TimeField()
sunday_close = TimeFiled()
....
然后在Restaurant中创建一个类方法:
class Restaurant(models.Model):
schedule = models.ForeignKey(Schedule)
....
def is_open(self, time=None)
if not time:
time = timezone.now()
today = time.weekday()
if today == 0:
open = self.schedule.sunday_open
close = self.schedule.sunday_close
elif today == 1:
....
return time > open and time < close
这是我想从这样的地方开始的地方。