0

我想使用AuditTrail审核我的一个模型。但是在项目的某些地方我有这样的代码:

q = Transaction.objects.filter(id = self.id).update(summa = self.summa)

审计跟踪是否适用于此代码或仅适用于model.save()

4

1 回答 1

0

答案有点晚,但为了完整性,迟到总比没有好:

从 AuditTrail 源码中可以看出,AuditTrail 与模型的连接是通过 post_save 信号

models.signals.post_save.connect(_audit, sender=cls, weak=False)

(因此与执行自动插入等的数据库触发器没有关系)。

此外,从@isbadawi 的回答中可以看出这里

django post_save 更新信号

post_save 信号仅在 save() 时触发。因此,答案是 AuditTrail 不适用于您的案例(查询集更新):)

于 2013-02-19T07:35:32.103 回答