我有一个未运行的自定义连接信号:

方法add_participant中的竞赛模型中的代码:

            # this is called and no error happens
            contest_after_added_participant.send(sender=self, 
                                           participant=participant, 
                                           participation=participation)

竞赛模型存在的文件中的代码:

def my_callback(sender, **kwargs):
    sender.title += 'sss' # this is never called

contest_after_added_participant = Signal(providing_args=["participant", "participation"])
contest_after_added_participant.connect(my_callback, sender=Contest, dispatch_uid='Contest.001')

===============>>#1 票数:2

发送发件人kwarg时应将类Contest而不是Contest的实例。 校验:

contest_after_added_participant.send(sender=Contest, 
                                 participant=participant, 
                                 participation=participation)

===============>>#2 票数:1

您的错误是,您使用Contest 的“ sender”参数调用.connect(),而使用Contest 实例调用.send(),因此它们不匹配。 如果您只有一个侦听器来接收自定义信号,而无需过滤特定发件人发送的信号,如下所述: https : //docs.djangoproject.com/en/dev/topics/signals/#connecting-to-signals -send-by-specific-senders ,那么您也可以从.connect()调用中删除“ sender”参数:

contest_after_added_participant.connect(my_callback, dispatch_uid='Contest.001')

  ask by Totty.js translate from so

未解决问题?本站智能推荐:

1回复

Django自定义信号

因此,在创建信号时,我们会生成一个看起来像这样的signals.py文件: 现在我的问题是,如果你要提供的论点并不总是一样的话怎么办? 如何通过这种灵活性创建信号?
1回复

自动将信号连接到自定义Django模型字段

我为Django创建了一个自定义图像字段,该字段会自动创建缩略图并执行其他一些操作。 现在,我想在模型中定义了此类字段时自动连接post_delete信号。 我知道在定义模型时如何手动连接post_delete信号。 但是我有一种方法可以在使用自定义字段时自动执行此操作?
1回复

Django SAML自定义用户属性和保存信号

我已经使用djangosaml2包成功实现了带有SAML断言的基线Django / pysaml2集成。 根据成功的身份验证动态创建用户,真是太好了! 现在,我想向我的Django 1.6“扩展”用户模型注入一小段自定义属性。 djangosaml2文档指出(请参阅: https :/
2回复

在Django中向长时间运行的方法发送信号

我想向芹菜中一个长期运行的任务发送“暂停”信号,而我正在尝试找出最佳方法。 在视图中,我可以从数据库中提取对象的实例并告诉保存,但这与Celery中的对象实例不同。 该对象不会检查回来是否已暂停。 从长时间运行的类和任务中轮询数据库感觉很奇怪且不切实际,因此我正在考虑向我的实例发送消息
1回复

Django自定义命令似乎未从运行的Django服务器接收post_save信号

我正在尝试编写Django定制命令,该命令将用作与与服务器物理连接的硬件进行交互的守护程序。 出于明显的原因,我不想在Django视图中运行与硬件相关的命令。 取而代之的是,我宁愿视图仅与模型交互,并让守护进程侦听来自模型的Django post_save信号。 为了进行测试,我有以下
2回复

在Django中自定义和计算值的首选方法

在Django中扩展某种保存行为(例如保存计算值)时,推荐的方法是什么? 我见过人们重写保存方法,也见过人们使用信号。 什么是正确/最常用/更好的方法?
1回复

Python中的自定义信号

我阅读了有关制作自己的信号的Django文档,但是这对我来说很难理解。 您能给我一个发出自己信号的例子并提供一些细节吗? 先感谢您
1回复

Django信号发送两次

我正在基于Actstream justquick / django-activity-stream /创建一个简单的Django信誉应用程序,该应用程序创建了一个信号用作: rep.send(request.user, action='increase', target=obj, val=10)
1回复

为什么未触发此Django信号?

我有一个名为aaa的应用程序。 在“ aaa.models”内部,有一些模型 在“ aaa.signals”内部有一个看起来像这样的函数 在“ aaa.apps.py”内部,有类似这样的东西,它正在唤醒信号功能。 我已经将此应用程序添加到“ settings.py”中
3回复

Django 1.2:如何将pre_save信号连接到类方法

我试图在我的django 1.2项目中的某些类中定义“before_save”方法。 我在将信号连接到models.py中的类方法时遇到问题。 我已经尝试将pre_save.connect(before_save,sender ='self')放在'MyClass'本身,但没有任何反应