说我有这个型号:
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 ......')的比特。 (每个位实际上是一个15分钟的块,一年有35040个块)
我不一定希望用户输入所有这些位,我想在幕后为他们做这些。但是,如何将此位数据“附加”到Job对象,而无需用户在我的modelForm上输入它而不尝试验证它的数据?
答案 0 :(得分:0)
向模型添加可选字段(它将从表单验证中排除):
hash = models.CharField(max_length=.., Null=true, Blank=true)
然后在保存到数据库时生成它(通过覆盖模型的保存方法):
def save(self):
self.hash = calc(...)
super(MyModel, self).save()