Django:每小时重置模型的特定字段

Django: reset a specific field of a model every hour

我在 django 的一个模型中有一个字段,我想每小时重置一次。 (即在每个点它的值变为零)

我该如何完成这个任务?我可以在 Django 中安排一个功能吗?

如您所知,我们可以在 mysql 和其他数据库后端中定义 EVENT 和 TRIGGER。我也熟悉 django 中的信号,但那些不能满足我的需要。 (因为数据库事件在某种程度上在 django 之外并且有问题;虽然看起来这是不可能的,但有信号!)

您可以使用schedule,很容易解决您的问题。

import schedule
import time


def job():
    print("I'm working...")


schedule.every().hour.do(job)

while True:
    schedule.run_pending()
    time.sleep(1) 

有一个线程展示了如何定期执行任务。然后你可以添加一些条件来适应你的场景。