django - 如何在视图中禁用 Django 信号?
问题描述
我正在编写一个迁移脚本,我不希望触发信号。如何断开信号与视图的连接?
视图.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() 中的参数。
起初,我认为只需将函数名称作为字符串传递,它就会自动查找函数。希望这可以帮助某人。
视图.py
from app.signals.handler import pre_save_callback
pre_save.disconnect( pre_save_callback, sender=MyModel)