我的模型有一个字段,如果它处于日期范围内,则该字段应该更改。取回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