情境:
问题:
每次记录得到任何更改时,我都需要在不同的日志表中保留日志(带有时间和用户名)。
日志表只是原始模型(例如ChangeLogModel)的外观,只有2个额外的字段作为logDate和ChangingUser。 这将帮助我检查日志并在任何特定日期查找问题的状态。
可能的解决方案:
使用信号( ...不习惯信号,缺乏详细的教程,文档也不详细)
在做任何" .save()"之前进行备份。 ( ......知道怎么做)
安装任何外部应用程序( ...尝试避免安装任何应用程序)
要点: 基本上我要求的是一个日志表,其中的状态是'在记录" form.save()"之前,原始记录/行/元组将保存到另一个表(即logTable)中触发。 因此,每次更新记录时,LogTable都会获得一个带有日期戳的新行。
答案 0 :(得分:0)
我认为最好的方法就是直接做到这一点。您可以在日志之后保存用户的答案,用database transaction包装并在出现问题时回滚。 顺便说一下,如果日志表与您考虑使用外键或继承的原始模型具有相同的字段,则取决于您的程序逻辑。
答案 1 :(得分:0)
您可以将django包用于审计和历史记录,例如overview中的任何一个。
我使用django-simple-history取得了成功。