如何在View中禁用Django信号?

时间:2018-08-30 03:39:26

标签: django django-signals

我正在编写一个迁移脚本,并且我不想触发信号。 如何断开信号与视图的连接?

View.py

pre_save.disconnect( pre_save_callback, sender=MyModel)

错误:

NameError: name 'pre_save_callback' is not defined

信号处理程序:

@receiver(pre_save,sender=MyModel)
def pre_save_callback(sender, instance, *args, **kwargs):
    '''
    do some stuff
    '''
    print('running pre_save')

已修复!更新的查看代码

缺少的部分是将信号处理函数导入视图,并将其用作pre_save.disconnect()中的参数。

起初,我认为仅通过将函数名称作为字符串传递即可对函数进行自动查找。希望这对某人有帮助。

View.py

from app.signals.handler import pre_save_callback
pre_save.disconnect( pre_save_callback, sender=MyModel)

0 个答案:

没有答案