0

我有一个需要expires_at时间场的模型。从某种意义上说,用户可以设置条目无效的时间。那时,我需要执行特定的操作,例如发送电子邮件和/或更改模型中的参数。

具体来说,假设我有一个模型:

class SomeModel(models.Model):
    ... #Code here ...
    expires_at = models.DateTimeField()

现在,当模型被保存时,字段中将设置一个时间expires_at,即未来的某个时间。当这个时间发生时,我需要发送一封电子邮件。

我看过 django 的信号功能,但不是很成功。我不想求助于运行不断轮询数据库或其他东西的 cronjobs。有人可以指出我正确的方向吗?

4

2 回答 2

0
class SomeModel(models.Model):
    ... #Code here ...
    expires_at = models.DateTimeField()


def your_signal(sender, instance, created, **kwargs):
    if created:
        instance.expires_at =       <---set time here
        instance.save()

        #do other stuff

post_save.connect(your_signal, sender=SomeModel)
于 2013-04-05T01:17:02.760 回答
0

APScheduler可以解决问题 - 请参见此处:http ://pythonhosted.org/APScheduler/dateschedule.html

于 2013-04-04T22:10:35.343 回答