gpt4 book ai didi

python - 在 Django 中注册多个信号

转载 作者:太空狗 更新时间:2023-10-30 00:23:45 26 4
gpt4 key购买 nike

我正在尝试在一个模型上注册多个信号。似乎当我注册一个额外的信号时,它会删除以前的信号。

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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com