我正在尝试在一个模型上注册多个信号。似乎当我注册一个额外的信号时,它会删除以前的信号。
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"
我浏览了文档,但我一直在寻找有关如何在类格式中创建自定义信号的详细信息。不是如何以类形式注册。
我想我可以做这样的事情:
@reciver(sender=Resource)
class SignalAnsweringMachine(object):
def post_delete(self,**kwargs):
print "delete"
def post_save(self,**kwargs):
print "save"
提前感谢您的帮助。
最佳答案
您正在(可能无意中)重新定义 ResourceSaved。试试这个:
@receiver(post_save,sender=Resource)
def ResourceSaved(sender,**kwargs):
print "Saved"
@receiver(post_delete,sender=Resource)
def ResourceDeleted(sender,**kwargs):
print "Deleted"
关于python - 在 Django 中注册多个信号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5923012/