首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个复选框表的Django表单

一个复选框表的Django表单
EN

Stack Overflow用户
提问于 2016-07-10 07:33:09
回答 1查看 709关注 0票数 0

我正在尝试创建一个表调度器,人们可以在那里选择免费的时隙。我使用django和postgresql数据库。我有以下型号:

代码语言:javascript
复制
class Person(models.Model):
    user = models.ForeignKey(settings.AUTH_USER_MODEL, default=1, unique=True)
    name = models.CharField(max_length=100)
    monday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"])
    tuesday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"])
    wednesday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"])
    thursday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"])
    friday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"])
    saturday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"])
    sunday = models.mulitpleChoiceField(choices= ["12-1", "1-2", "2-3"])

问题是如何使用modelForm创建一个表单,该表单将为我提供一个表,其中具有rows = days和columns = timeslots,其中用户只需选中复选框就可以指示何时可用。

目前,我的forms.py就像这样:

代码语言:javascript
复制
class UserForm(forms.ModelForm):
    class Meta:
        model = Person
        fields = [
            "name",
            "monday",
            "tuesday",
            "wednesday",
            "thursday",
            "friday",
            "saturday",
            "sunday",
        ]

我对django还是很陌生的,一个月前才开始。谢谢你的建议。

EN

回答 1

Stack Overflow用户

发布于 2016-07-10 17:56:46

我只需使用两个日期时间字段,并使用javascript渲染前端有槽的表。您必须有一个start_time和一个end_time字段。

这简化了模型,但意味着模型本身不限制时间范围(例如,周一,12-13),而是允许选择任何时间。但是,您可以使用自定义验证来限制可以选择的时间范围。也就是说,它们只能在每隔一小时或任何您的需求中被选择。我肯定有一些在线资源可以帮助你,但如果你找不到,那就让我知道,我会看看我是否可以帮助。

我试图找到一个javascript/jQuery库,它已经处理了时间选择器的功能,但却找不到。但是,创建过程将相当简单。我如何看待它:

  • 日期表,每个元素都具有data-startdata-end属性。
  • 在单击时间范围时,收集两个数据属性。
  • 在提交时,停止传播,并将两个日期范围提交到视图,并保存到start_timeend_time
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38289692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档