首页 > 解决方案 > Django 在一段时间后更新模型字段

问题描述

我有一个分配模型,它现在具有以下属性:标题(字符字段)、截止日期(日期和时间字段)、关闭(布尔字段)。封闭字段表示作业是否已超过截止日期。关闭字段默认为 false。所以现在,我想要的是,当创建模型的对象时,应根据截止日期自动更新封闭字段。说截止日期是2小时后。然后封闭场应在 2 小时后变为真。做这个的最好方式是什么?Django 是否提供这种类型的任何字段?哪个会在一段时间后自行更新?

标签: pythondjangodjango-models

解决方案


Django 不支持任何此类字段。所以,这里有一些你有的选择

  1. 创建一个管理命令 并使用 cron 作业定期运行它
  2. celery周期性任务也可以做到这一点
  3. 这可能不适用于任何情况,但可以在合适的情况下使用,您可以在访问时更新状态,因此在返回状态之前检查其是否为真,如果为真则检查其是否已过期,如果已过期,请设置 False 并返回

推荐阅读