Django post_save 防止递归而不覆盖模型 save()

2023-12-26

Stack Overflow 上有很多关于使用递归的帖子post_save信号,评论和答案绝大多数是:“为什么不覆盖 save()”或仅触发的保存created == True.

好吧,我相信有一个很好的理由不使用save()- 例如,我添加一个临时应用程序,用于处理与我们的订单模型完全分开的订单履行数据。

框架的其余部分完全不知道履行应用程序,并且使用 post_save 挂钩将所有与履行相关的代码与我们的订单模型隔离。

如果我们放弃履行服务,我们的核心代码就不需要改变。我们删除履行应用程序,仅此而已。

那么,是否有任何合适的方法来确保 post_save 信号不会触发同一个处理程序两次?


您可以在信号处理程序中使用更新而不是保存



queryset.filter(pk=instance.pk).update(....)
  
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Django post_save 防止递归而不覆盖模型 save() 的相关文章

随机推荐