【问题标题】:In Django how to stop a signal running during migrations在 Django 中,如何在迁移期间停止信号运行
【发布时间】:2015-10-14 10:03:50
【问题描述】:

在 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 中被删除,所以有替代品吗?

【问题讨论】:

    标签: python django django-models django-signals


    【解决方案1】:

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

    【讨论】:

    • 我误读了文档,谢谢。它确实看起来有点奇怪而且不是很清楚(无论如何对我来说)。
    猜你喜欢
    • 2018-07-20
    • 1970-01-01
    • 2014-12-19
    • 1970-01-01
    • 1970-01-01
    • 2017-03-13
    • 1970-01-01
    • 2018-05-04
    • 2020-04-12
    相关资源
    最近更新 更多