django模型的一次性方法执行器
django-terminator的Python项目详细描述
当模型实例满足以下条件时,一次性执行django模型方法 具体情况。
示例
import datetime from django.db import models from django.db.models import Q from terminator import execute_once class Message(models.Model): sent = models.BooleanField(default=False) sender_email = models.EmailField() recipient_email = models.EmailField() subject = models.CharField(max_length=128) body = models.TextField() @execute_once(Q()) def send(self): # Some code which sends the email… pass class BirthdayGift(models.Model): birthday_date = models.DateField() @execute_once(lambda cls: Q(birthday_date__lte=datetime.date.today())) def send(self): # Some code which sends the gift… pass
稍后:
from terminator import terminate terminate()
有关更广泛的文档,请参阅测试。