【发布时间】:2020-11-05 09:00:02
【问题描述】:
我的项目中存在无法根据时间更新列字段的问题。也就是说,我将通过表单插入数据并填写日期字段,我希望在几天内更新特定字段。例如,如果我在数据库中插入表单已经过去了 10 天,我希望在 11 日将未结订单的状态更改为延迟。我试图覆盖 save 方法,但它仅在我编辑表单并保存或插入表单时有效,但这不是我的目标。
models.py:
class Order(models.Model):
name = models.CharField(max_lenght = 100)
data_start = models.DateField(default=date.today)
status = models.Charfield(
max_length=50,
default='Open',
choices=(
('Open', 'Open'),
('Late', 'Late'),
)
def save(self, *args, **kwargs):
days_for_late = datetime.timedelta(days=15)
late = self.data_start + days_for_late
today = datetime.date.today()
if today > late:
self.status = 'Late'
super(Order, self).save(*args, **kwargs)
我被困在这个阶段,在网站上阅读了许多类似的问题,但我无法解决。大多数人都在谈论覆盖保存方法,这对我的问题不起作用
【问题讨论】:
标签: python django django-models django-queryset