Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.rst

django-terminator

One-time execution of Django model methods, when model instance meets specific conditions.

Examples

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

Later:

from terminator import terminate

terminate()

For more extensive documentation, see the tests.

About

One-time execution of Django model methods.

Resources

License

Packages

No packages published

Languages

You can’t perform that action at this time.