Version 1 (modified by Tyson Tate <tyson@…>, 9 years ago) (diff)

Initial add. Needs some serious TLC.

What Are Signals?

Signals allow you to make Django call custom methods after common actions using a dispatcher. Beyond that, I really don't know much else. Please help expand this documentation, if you can.

The author of Zyons talks about signals a bit here.


The following is taken from Zyons, the only place I've seen signals used so far. Unless I'm completely incorrect, the following code has the dispatcher call "increment_tag_summary" before a TagUserObject object is saved, and "decrement_tag_summary" after a TagUserObject object is deleted.

from django.db.models import signals
from django.dispatch import dispatcher


def increment_tag_summary(sender, instance, signal, *args, **kwargs):

def decrement_tag_summary(sender, instance, signal, *args, **kwargs):

dispatcher.connect( increment_tag_summary , signal=signals.pre_save, sender=TagUserObject )
dispatcher.connect( decrement_tag_summary , signal=signals.post_delete, sender=TagUserObject )
Back to Top