django 发出批量删除/更新信号

Cri*_*lho 5 django signals

我找不到任何关于为什么会发生这种情况的文档,但根据文档,批量操作不应触发模型信号。

现在的问题是,如果我执行 somequeryset.delete(),每个删除的对象都会触发一个信号,即使它是批量操作!另一方面, somequeryset.update(someField=5) 不会触发任何信号!

所以这几乎是一个意想不到的结果,我希望两者表现相同。

姜戈 1.7.7

有任何想法吗?我希望删除时有信号,但在批量删除时触发它是不可接受的

小智 6

正如这里所解释的,它实际上不会对每个项目调用delete()方法,但它会调用信号。我不知道这是否可能,但我也同意 queryset.delete() 中至少应该有一些选项来跳过信号执行。