如何创建自定义django模型字段以表示场所的开放和关闭时间

时间:2017-10-21 14:14:59

标签: django django-orm

我有关于餐馆的申请。您可以设置其开始和结束时间。我通过添加这样的两个时间字段来实现。

viewBox="5 30 200 250"

但是我想用一个像这样的自定义字段来做这件事。

class Place(models.Model):
    # other fields
    opening = models.TimeField()
    closing = models.TimeField()

1 个答案:

答案 0 :(得分:1)

1)使用CharField并通过属性解析模型中的字符串,例如“hh:mm - hh:mm”

2)使用Django原生DurationField: https://docs.djangoproject.com/en/1.10/ref/models/fields/#durationfield 如果你想模拟开放时间,你需要第二个字段来定义开放时间,它正在处理timedelta。

3)像其他人一样使用两个TimeField。

4)另一个选项是MultiSelectField,用户可以选择该地点开放的那一天的小时数。

OPENING_HOURS = (
    (1,'1am'),
    (2,'2am'),
    (3,'3am'),
    (4,'4am'),
    ...
    (12,'12pm'),
)

class Place(models.Model):
    # other fields
    operating_hours = models.my_field = MultiSelectField( choices=MY_CHOICES)

请参阅:https://pypi.python.org/pypi/django-multiselectfield