I'm trying to register multiple signals on one model. It seems that as I register an additional signal, it removes the previous signal.
from django.dispatch import receiver
from django.db.models.signals import post_save,post_delete
from my.app.models import Resource
@receiver(post_save,sender=Resource)
def ResourceSaved(sender,**kwargs):
print "Saved"
@receiver(post_delete,sender=Resource)
def ResourceSaved(sender,**kwargs):
print "Deleted"
I've taken a look around the docs, but I keep finding details on how to create custom signals in a class formate. Not how to register in class format.
I would imagine I can do something like this:
@reciver(sender=Resource)
class SignalAnsweringMachine(object):
def post_delete(self,**kwargs):
print "delete"
def post_save(self,**kwargs):
print "save"
Thanks for your help in advance.
You are (probably unintentionally) redefining ResourceSaved. Try this instead:
@receiver(post_save,sender=Resource)
def ResourceSaved(sender,**kwargs):
print "Saved"
@receiver(post_delete,sender=Resource)
def ResourceDeleted(sender,**kwargs):
print "Deleted"