【问题标题】:Availability Schedule field in Django Models?Django 模型中的可用性计划字段?
【发布时间】:2023-01-20 21:48:02
【问题描述】:

我是 Django 的新手,我正在尝试构建一个 Web 应用程序,一些用户可以在其中输入他们可用的每周时间表,并显示他们在一天中的什么时间可用。下图(这只是前端部分)显示了与我正在尝试构建的内容类似的内容。我使用什么类型的模型字段来将此类信息存储在模型类中?

【问题讨论】:

    标签: django django-models django-model-field


    【解决方案1】:

    我会使用链接到 Shift 表的 ManyToMany 字段。

    class Shift(models.Model):
        # Day of week
        day = models.CharField()
        # Morning, afternoon, evening
        time = models.CharField()
    
    class UserProfile(models.Model):
        ...
        availability = models.ManyToManyField(Shift)
    

    Django 文档有一个关于使用 ManyToManyFields 的便捷指南。 https://docs.djangoproject.com/en/4.1/topics/db/examples/many_to_many/

    【讨论】:

      【解决方案2】:

      现在我看了一下,我可以尝试为每一天(星期日、星期一、星期二、...星期六)创建许多 MultiSelect 字段,每个字段都有 3 个选择(早上、下午、晚上)。这样您就不需要使用所有不同的选项(星期日早上、星期一晚上等)预先填充数据库(在使用数据库之前)。但是,从长远来看,我可能会遇到表格冗余的麻烦。

      【讨论】:

        猜你喜欢
        • 2016-10-12
        • 2013-04-27
        • 1970-01-01
        • 2013-04-09
        • 2018-10-15
        • 2019-01-07
        • 1970-01-01
        • 1970-01-01
        • 2020-08-06
        相关资源
        最近更新 更多