我可以手动触发Django中的信号吗?

dav*_*hes 17 python django signals django-signals

我在我的Django应用程序中写了一些信号,它们应该在创建或修改特定模型实例时发送电子邮件,但信号接收器功能似乎没有响应; 无论如何,我没有收到任何电子邮件(虽然我已经检查过我能够使用我当前的配置发送电子邮件).

无论如何; 我想知道,是否有可能手动发送post_save信号用于调试目的,而不是每次都通过创建一个新的模型实例来尝试触发它?谢谢!

cat*_*ran 26

当然有可能.查看文档:

from django.db.models.signals import post_save

instance = MyModel(field='qwerty')
post_save.send(MyModel, instance=instance, created=True)
Run Code Online (Sandbox Code Playgroud)

  • 啊! 我读了几次关于信号的Django文档,但不知何故我没有理解 - 回想起来似乎很明显.谢谢!:) (2认同)
  • @VaibhavVishal这将导致不必要的,缓慢而昂贵的数据库往返 (2认同)