首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用django-reversion显示模型实例的更改日志历史

使用django-reversion显示模型实例的更改日志历史
EN

Stack Overflow用户
提问于 2016-12-04 10:09:52
回答 1查看 2.3K关注 0票数 4

使用:django 1.10反向2.0.8.

我的问题是如何显示对给定模型实例所做的更改列表。我的意思是,用户可以快速地看到所有修订中的所有更改(字段的新值)的列表。他不需要看到所有的字段,只需要改变的字段的新值。

因此,我发现存储更改的一个好工具是django-reversion。但是,我无法为我的问题找到一个解决方案,正如我提到的那样,就是为给定的模型实例显示一个很好的更改日志历史记录。

我找到了可以比较两个修订版django-reversion-compare,的解决方案,但这不是我想要的。也许有一个更好的工具来解决这个问题?

该任务太快地向用户显示由谁和何时更改的内容。该模型简单,不存储大量数据。不管外键有多大,它都会存储。

EN

回答 1

Stack Overflow用户

发布于 2017-05-31 05:19:06

我也希望这样做,在阅读了一些SO帖子、文档等之后,我似乎不得不从以下3种方法中大致选择解决方案:

1) 在保存新的模型实例之前获取现有的模型实例。比较每个字段。将更改的字段放在reversion.set_comment中(‘(此处的所有更改)“)。继续保存模型实例。

2) 分别在模型的__init__()中保存旧字段的副本,然后将新字段与它们进行比较(在模型的save()中),以跟踪更改的内容。将更改的字段放在reversion.set_comment中(‘(这里的所有更改)“)。继续保存模型实例。(此方法将保存数据库查找)

3) 使用django-reversion的 低级API生成 比较 ,并以某种方式与管理集成

最后,我使用了django-反转-比较,这对我来说非常有用,它展示了编辑wiki风格(无论如何,它可能使用(3) )。

django-reversion的开发人员还将已确认 (3)作为一个更好的选择,这也避免了竞争条件。

如果您想探索不同的选项,是一个伟大的SO帖子,有很多好的想法及其优缺点。

(我也在Django 1.10号上)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40957509

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档