【问题标题】:Tracking changes to Django Model instances跟踪对 Django 模型实例的更改
【发布时间】:2011-01-21 00:39:33
【问题描述】:

当您在 Django 的管理员中创建或修改对象实例时,会创建一个更改日志条目。这真的很好,原因很明显。

但是,我的模型实例是由管理界面之外的普通用户创建的。没有记录更改日志来记录它的创建(不是一个大问题),但我想跟踪用户所做的编辑。

我还想在前端向用户显示这个完整的日志(用户+管理员编辑),所以我需要一种方法来提取变更日志。

我的问题:怎么做?是否有一个单行开关可以让我轻弹以启用完整日志记录,或者我是否必须深入研究并在我的用户的编辑表单逻辑上做一些事情?

【问题讨论】:

标签: django django-models django-admin


【解决方案1】:

django-reversion 是一款旨在帮助解决此问题的应用程序。

【讨论】:

  • 我并没有真正使用过这个解决方案,但是你真的可以从 django-reversion 获得一个变更日志吗?无论如何 +1,因为我认为它仍然可能满足 Oli 的需求。
  • 这是迄今为止最简单的方法。它有惊人的和非常 Pythonic 的绑定方法来跟踪非常适合我的风格的变化。我相信我会找到一种方法来提取更改列表!
  • 看看 admin.py history_view
  • django reversion 已移至 github:github.com/etianen/django-reversion
  • @Anupam 是的,它工作得很好,我们根据回归模型提取了一个变更日志。他们都说得通。我们偶尔会遇到在第一次编辑之前或第一次编辑时没有创建初始还原的问题……尽管在检查时我们可能会更加严格。这不是优先事项。
猜你喜欢
  • 1970-01-01
  • 2017-07-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多