Disconnect signals for models and reconnect in django

后端 未结 5 1011
心在旅途
心在旅途 2020-12-08 14:11

I need make a save with a model but i need disconnect some receivers of the signals before save it.

I mean,

I have a model:

class MyModel(mo         


        
5条回答
  •  借酒劲吻你
    2020-12-08 14:34

    If you only want disconnect and reconnect one custom signal, you may use this code:

    def disconnect_signal(signal, receiver, sender):
        disconnect = getattr(signal, 'disconnect')
        disconnect(receiver, sender)
    
    def reconnect_signal(signal, receiver, sender):
        connect = getattr(signal, 'connect')
        connect(receiver, sender=sender)
    

    In this way you can make this:

    disconnect_signal(pre_save, pre_save_model, MyModel)
    a.save()
    reconnect_signal(pre_save, pre_save_model, MyModel)
    

提交回复
热议问题