如何检测我的Django对象的DataTimeField何时达到当前时间

时间:2014-09-18 10:58:58

标签: django django-views django-signals

我正在使用Django 1.5.5。

说我有一个对象:

class Encounter(model.Models):
    date = models.DateTimeField(blank=True, null=True)

如何检测给定Encounter何时达到当前时间?我不知道信号如何帮助我。

2 个答案:

答案 0 :(得分:2)

你只能使用Django来检测它。

您需要一些调度程序,它将检查每个Encounter的日期(例如,通过使用相应的过滤器查询),并执行所需的操作。

它可以是一个简单的cron脚本。你可以把它写成django custom management command。例如,cron必须每5分钟调用一次。

或者,您可以使用Celery。有了它,您可以从管理员查看工作人员状态并执行其他操作。

答案 1 :(得分:1)

您可以使用Celery。当您保存Encounter对象时,这将进入任务队列并仅在达到当前时间后执行。

但有一点需要注意,根据芹菜工人的繁忙程度,它可能会稍后执行。