如何在不发送信号的情况下保存模型?
我该如何保存一个模型,这样就不会发送信号了。(比如说 post_save 和 pre_save)
6 个回答
7
这个问题被标记为“不会修复”,原因如下:
简单来说,考虑到信号的定义目的,应该让附加的信号处理器变得更聪明(就像davedash的建议那样),而不是去改变发出信号的代码。禁用信号只是一个快速的解决办法,只有在你确切知道哪些处理器附加在信号上时才有效,而且这样做会把问题隐藏起来,因为修复放错了地方。
11
ModelName.objects.bulk_create([your object/objects])
你还可以在这里了解更多内容 django文档
65
这有点像小技巧,但你可以这样做:
使用一个独特的标识符配合过滤器,然后使用查询集的更新方法(这样就不会触发信号)
user_id = 142187
User.objects.filter(id=user_id).update(name='tom')