2011-11-30 100 views
0

我目前有一個模型:Django的其他領域推斷場

class Current(models.Model): 
    field1 = models.IntegerField() 
    field2 = models.IntegerField() 
    field3 = models.IntegerField() 

我需要有場3直接等於字段1 +場2設置,而無需實際發送。
Django的標準方式是做什麼的?

PS:是的,我需要將field3與其他字段一起保存在數據庫中。

+0

什麼意思是「沒有實際發送」?是否有涉及的表單? –

+0

是的,它的一種形式 – zubinmehta

回答

2

是這樣的嗎?但不知道爲什麼這需要保存在數據庫中。

class Current(models.Model): 
    field1 = models.IntegerField() 
    field2 = models.IntegerField() 
    field3 = models.IntegerField() 

    def save(self, *args, **kwargs): 
     self.field3 = self.field1 + self.field2 
     super(Current, self).save(*args, **kwargs) 
0

您可以覆蓋模型的save()方法。但爲什麼你需要保存field3呢?

+0

其實field3是field1和field2的一些複雜組合。我需要經常抓取它。所以我寧願馬上計算。 – zubinmehta