在Django中如何阻止在迁移期间运行的信号

时间:2015-10-14 10:03:50

标签: python django django-models django-signals

Django有没有办法在迁移命令期间阻止post_save信号被触发?

我有一个post_save信号可以在所有型号上运行,但是我发现在它运行的迁移过程中,尽管Django似乎在处理这个问题并发出警告。我想知道我是否错过了最佳做法?

@receiver(post_save)
def action_signal(sender, instance, created, **kwargs):
    if created:
       Action.objects.update_action(instance)
       # Edited for brevity

我已经看过Disconnecting signals但是这将在1.9中删除,所以有替换吗?

1 个答案:

答案 0 :(得分:1)

使用Signal.disconnect听起来像是正确的方法。在Django 1.9中没有删除它。文档只是说weak参数被弃用,因为它没有效果。