我正在开发一个新的Web应用程序,需要将任何更改存储到数据库中的审计表中。审计表的目的是为了在实际物理审计中确定发生了什么情况,谁编辑了什么以及在例如复杂计算时数据库的状态是什么。
因此,大多数情况下,审计表都将被写入而不是读取。虽然有时可能会生成报告。
我已经寻找可用的解决方案:
- AuditTrail - 简单易用,这就是我倾向于它的原因,我可以理解它的单文件代码。
- Reversion - 看起来使用起来很简单,但不确定如果需要修改它会有多容易。
- rcsField 看起来非常复杂,对我的需求来说太过繁琐。
我还没有尝试过这些解决方案,所以我想知道一些真正的经验和哪一个我应该使用。例如:哪一个更快、占用更少的空间、容易扩展和维护?
AuditTrail
和HistoricalRecords
方法的最新且受支持的实现是django-simple-history
。 - Ivan Kharlamov