python – django中的肮脏字段

在我的应用程序,我需要保存更改的值(旧和新)当模型被保存。任何示例或工作代码?

我需要这个内容的预编译。例如,如果用户在模型中更改某些内容,则管理员可以在单独的表中查看所有更改,然后决定是否应用它们。

你没有说明你的具体用例或需求。特别是,知道你需要对变更信息做什么(你需要多长时间存储它?)是有帮助的。如果你只需要暂时存储它,@ S.Lott的会话解决方案可能是最好的。如果要对DB中存储的对象的所有更改进行完整审计跟踪,请尝试使用此AuditTrail solution

更新:我链接到上面的AuditTrail代码是最接近我看到一个完整的解决方案,将适用于您的情况,虽然它有一些限制(根本不工作在ManyToMany字段)。它将在DB中存储对象的所有先前版本,因此管理员可以回滚到任何先前的版本。如果您希望更改在批准之前生效,您必须使用它。

您还可以基于类似@Armin Ronacher的DiffingMixin的自定义解决方案。你会在表中存储差异字典(可能pickled?),供管理员稍后查看,如果需要,你需要应用(你需要编写代码来获取diff字典并将其应用到实例)。

http://stackoverflow.com/questions/110803/dirty-fields-in-django

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:python – django中的肮脏字段