我有一个“分配”模型,该模型现在具有以下属性:标题(字符字段),截止日期(日期和时间字段),关闭(布尔值字段)。封闭字段指示任务是否超过了截止日期。默认情况下,关闭字段为false。 所以现在,我想要的是,当创建模型的对象时,应该根据截止日期自动更新封闭字段。说截止日期是2小时后。然后,关闭字段应在2小时后变为真。做这个的最好方式是什么? Django是否提供这种类型的字段?一段时间后会自动更新?
答案 0 :(得分:0)
Django不支持任何此类字段。 所以,这里有一些选项
答案 1 :(得分:0)
不要关闭字段。使其成为计算属性-然后一切都会自动运行:
from django.utils import timezone
from datetime import timedelta
def two_hours_from_now():
return timezone.now() + timedelta(seconds=2*3600)
class Assignment(models.Model):
deadline = models.DateTimeField(default=two_hours_from_now)
... # other fields, no closed field
@property
def closed(self) -> bool:
return timezone.now() < self.deadline