Django的营业时间

时间:2015-02-11 08:55:07

标签: python django

我想为诊所添加营业时间,我已经查看了这个Any existing solution to implement "opening hours" in Django,但它不适合我。因为这个假设您所有工作日都有相同的工作小时数,特殊工作日的工作小时数相同。然而,我希望个别日子的开放时间不同。此外,我希望每个日都有超过1个条目。例如,周日的诊所从早上8:30到中午12:00运行,并从下午4:30到晚上10点再次开放。

我希望能够从管理面板添加此内容,类似于Yelp

enter image description here

1 个答案:

答案 0 :(得分:5)

恕我直言,该链接的解决方案几乎完全符合您的要求。只需稍微定制一下:

WEEKDAYS = [
  (1, _("Monday")),
  (2, _("Tuesday")),
  (3, _("Wednesday")),
  (4, _("Thursday")),
  (5, _("Friday")),
  (6, _("Saturday")),
  (7, _("Sunday")),
]

class OpeningHours(models.Model):

    weekday = models.IntegerField(choices=WEEKDAYS)
    from_hour = models.TimeField()
    to_hour = models.TimeField()

    class Meta:
        ordering = ('weekday', 'from_hour')
        unique_together = ('weekday', 'from_hour', 'to_hour')

    def __unicode__(self):
        return u'%s: %s - %s' % (self.get_weekday_display(),
                                 self.from_hour, self.to_hour)