使用:django 1.10反向2.0.8.
我的问题是如何显示对给定模型实例所做的更改列表。我的意思是,用户可以快速地看到所有修订中的所有更改(字段的新值)的列表。他不需要看到所有的字段,只需要改变的字段的新值。
因此,我发现存储更改的一个好工具是django-reversion。但是,我无法为我的问题找到一个解决方案,正如我提到的那样,就是为给定的模型实例显示一个很好的更改日志历史记录。
我找到了可以比较两个修订版django-reversion-compare,的解决方案,但这不是我想要的。也许有一个更好的工具来解决这个问题?
该任务太快地向用户显示由谁和何时更改的内容。该模型简单,不存储大量数据。不管外键有多大,它都会存储。
发布于 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号上)
https://stackoverflow.com/questions/40957509
复制相似问题