2011-06-06 38 views
0

處理元數據說我有這種模式:django的形式和爲對象

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 

說我也有一個函數,它的開始,結束,以及天字段和散列出的35040個比特的bitarray(」 111100011 ...')。 (每個位實際上是一個15分鐘的塊,一年有35040個塊)

我不一定期望用戶輸入所有這些位,我想爲他們在幕後做這些。但是,如何將該位數據「附加」到Job對象,而不需要用戶將其輸入到我的modelForm中並且不嘗試驗證其數據?

回答

0

可選字段添加到您的模型(它將從表單驗證除外):

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

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

然後保存到數據庫中(通過覆蓋模型的保存方法)時產生的呢