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

时间:2014-10-02 02:31:04

标签: python django

我的网站有一个部分,人们可以发布事件日期"事件日期" Django中的字段。是否存在"状态"字段(0表示挂起,1表示已批准,2表示已取消/已过期。)可以在事件日期字段中指定的日期后(如1天)更新为2?该网站旨在最小化维护,这将是一个巨大的帮助。

现在这只是一个本地服务器,使用MySQL并运行django版本1.6.2 python版本2.7.4我认为。

1 个答案:

答案 0 :(得分:2)

数据库值无法自行对时间做出反应。你可以

  • 让您的查询采用相对日期帐户(这会使您的查询更加复杂,您需要将事件日期字段与当前时间(django.utils.timezone.now())进行比较,并考虑{{1} } field

  • 制作计划任务,如果事件日期已过,则会审核所有事件并更新status

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

使用Huey而不是Cron可以使您的代码更简单,更优雅,更易于维护。使用Cron通常不需要Huey所需的其他软件,但要求你弄乱你的服务器设置而你的应用程序不那么独立。

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