【发布时间】:2023-01-20 21:48:02
【问题描述】:
我是 Django 的新手,我正在尝试构建一个 Web 应用程序,一些用户可以在其中输入他们可用的每周时间表,并显示他们在一天中的什么时间可用。下图(这只是前端部分)显示了与我正在尝试构建的内容类似的内容。我使用什么类型的模型字段来将此类信息存储在模型类中?
【问题讨论】:
标签: django django-models django-model-field
我是 Django 的新手,我正在尝试构建一个 Web 应用程序,一些用户可以在其中输入他们可用的每周时间表,并显示他们在一天中的什么时间可用。下图(这只是前端部分)显示了与我正在尝试构建的内容类似的内容。我使用什么类型的模型字段来将此类信息存储在模型类中?
【问题讨论】:
标签: django django-models django-model-field
我会使用链接到 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/
【讨论】:
现在我看了一下,我可以尝试为每一天(星期日、星期一、星期二、...星期六)创建许多 MultiSelect 字段,每个字段都有 3 个选择(早上、下午、晚上)。这样您就不需要使用所有不同的选项(星期日早上、星期一晚上等)预先填充数据库(在使用数据库之前)。但是,从长远来看,我可能会遇到表格冗余的麻烦。
【讨论】: