Python 在Django中经过特定日期后更新数据库值

Python 在Django中经过特定日期后更新数据库值,python,django,Python,Django,我的网站有一个部分,人们可以在Django中发布带有“事件日期”字段的事件。在事件日期字段中指定的日期之后(如1天),是否有办法将“状态”字段(0表示待定,1表示已批准,2表示已取消/过期)更新为2?该网站是专为最低限度的维护,这将是一个巨大的帮助 现在这只是一个本地服务器,使用MySQL并运行django版本1.6.2 python版本2.7.4。我想数据库值本身无法对时间做出反应。你也可以 使您的查询采用相对日期帐户(这使您的查询稍微复杂一些,您需要将事件日期字段与当前时间(django.

我的网站有一个部分,人们可以在Django中发布带有“事件日期”字段的事件。在事件日期字段中指定的日期之后(如1天),是否有办法将“状态”字段(0表示待定,1表示已批准,2表示已取消/过期)更新为2?该网站是专为最低限度的维护,这将是一个巨大的帮助


现在这只是一个本地服务器,使用MySQL并运行django版本1.6.2 python版本2.7.4。我想数据库值本身无法对时间做出反应。你也可以

  • 使您的查询采用相对日期帐户(这使您的查询稍微复杂一些,您需要将事件日期字段与当前时间(
    django.utils.timezone.now()
    )进行比较,并考虑
    状态
    字段

  • 制定一个计划任务,该任务将处理所有事件,并在事件日期已过时更新
    状态

对于后一种方法,有太多的方法

  • 用于运行Django管理命令(无外部依赖项)

  • 使用该选项,每10分钟检查一次所有事件,并在事件过期时更新其
    状态

使用Huey而不是Cron可能会使您的代码更简单、优雅、更易于维护。使用Cron通常不需要Huey所需的其他软件,但需要您处理服务器设置,并且您的应用程序也不太独立

Django本身缺乏调度任务的机制,因为它只能响应HTTP请求,而不能响应时间驱动的事件