python - Django 在一段时间后更新模型字段
问题描述
我有一个分配模型,它现在具有以下属性:标题(字符字段)、截止日期(日期和时间字段)、关闭(布尔字段)。封闭字段表示作业是否已超过截止日期。关闭字段默认为 false。所以现在,我想要的是,当创建模型的对象时,应根据截止日期自动更新封闭字段。说截止日期是2小时后。然后封闭场应在 2 小时后变为真。做这个的最好方式是什么?Django 是否提供这种类型的任何字段?哪个会在一段时间后自行更新?
解决方案
Django 不支持任何此类字段。所以,这里有一些你有的选择
- 创建一个管理命令 并使用 cron 作业定期运行它
- celery周期性任务也可以做到这一点
- 这可能不适用于任何情况,但可以在合适的情况下使用,您可以在访问时更新状态,因此在返回状态之前检查其是否为真,如果为真则检查其是否已过期,如果已过期,请设置 False 并返回
推荐阅读
- linux - 如何使用环境变量通过 PostgreSQL 创建转储?我找到了一个解决方案,但我不知道为什么它不能以另一种方式工作
- unit-testing - 如何使用 grails 测试单个文件上传控制器(没有 content-type= multipart/form-data)
- php - 未能创建目录“/var/www/html/frontend/runtime/cache”:mkdir():权限被拒绝
- graphql - GraphQL 类型强制
- c++ - 如何从向量映射中迭代向量?
- mysql - 将每个模块的基本信息保存在数据库中
- python - ProgrammingError:“[”附近的SQL语法是什么意思?
- apache-flink - 将 JDBCTableSource 与 StreamTableEnvironment 一起使用会产生 ClassCastException
- reactjs - 如何从绝对服务器 url ReactJS 加载图像
- python-3.x - 使用 winreg 获取软件(Acrobat Reader)的安装路径