【问题标题】:django forms and processing meta data for objectsdjango 表单和处理对象的元数据
【发布时间】:2011-09-09 13:29:10
【问题描述】:

假设我有这个模型:

class Job(models.Model):
    name = models.CharField(max_length=32, unique=True) #name of job
    start = models.TimeField() #start time of job
    end = models.TimeField() #end time of job
    days = models.ManyToManyField(Day) #week days the job should be started on

假设我还有一个函数,它采用 start、end 和 days 字段并散列出一个 35,040 位的位数组('111100011...')。 (每个bit其实就是一个15分钟的chunk,一年有35040个chunk)

我不一定希望用户输入所有这些位,我想在幕后为他们做这些。但是,我如何将这些位数据“附加”到 Job 对象而不要求用户在我的 modelForm 上输入它并且不尝试验证它的数据?

【问题讨论】:

    标签: django validation hidden django-forms


    【解决方案1】:

    为您的模型添加一个可选字段(它将被排除在表单验证之外):

    hash = models.CharField(max_length=.., Null=true, Blank=true)
    

    然后在保存到数据库时生成它(通过覆盖模型的保存方法):

    def save(self):
        self.hash = calc(...)
        super(MyModel, self).save()
    

    【讨论】:

      猜你喜欢
      • 2016-06-23
      • 2016-06-14
      • 2011-04-08
      • 2014-10-04
      • 2017-10-21
      • 1970-01-01
      • 1970-01-01
      • 2015-07-04
      • 2021-06-28
      相关资源
      最近更新 更多