我的模型有一個字段,如果它處於日期範圍內,則該字段應該更改。取回Django模型更新
它應該是這樣的:
class Election(models.Model)
start_date = models.DateTimeField(verbose_name = 'Start Date')
end_date = models.DateTimeField(verbose_name = 'End date')
active = models.BooleanField(default=False)
def updateActive(self):
now = timezone.now()
if self.start_date < now and self.end_date > now:
self.active=True
else:
self.active=False
self.save()
現在,我每次查詢這個模型的時候,我打電話updateActive()
從我views.py
。
所以,我的問題是:有沒有辦法在每次獲取Election
對象時調用updateActive()
?或保持不斷更新?
任何想法是值得歡迎的。
它會是一個選項,根本不存儲它,只是在需要時計算它嗎? – RemcoGerlich
這就是我一直在做的事。我只是想知道是否有一種方法來實現這一點。 – Pabs
不確定自動更新,但邏輯看起來不正確:'如果self.start_date>現在和self.end_date end_date'這可能不是你想要的。嘗試'self.active = start_date
mhawke