Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用django恢复显示模型实例的更改日志历史记录_Python_Django_Versioning_Django Reversion - Fatal编程技术网

Python 使用django恢复显示模型实例的更改日志历史记录

Python 使用django恢复显示模型实例的更改日志历史记录,python,django,versioning,django-reversion,Python,Django,Versioning,Django Reversion,使用: django 1.10回归2.0.8. 我的问题是如何显示对给定模型实例所做更改的列表。我的意思是,用户可以快速查看所有修订中所有更改(字段的新值)的列表。他不需要查看所有字段,只需要查看更改字段的新值 因此,我发现存储更改的一个好工具是django反转。然而,我找不到解决我的问题的方法,正如我提到的,就是为给定的模型实例显示一个好的变更日志历史 我找到了可以比较两个修订版的解决方案,django reversion compare,但这不是我想要的。也许有更好的工具 任务太快,无法向用

使用: django 1.10回归2.0.8.

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

因此,我发现存储更改的一个好工具是django反转。然而,我找不到解决我的问题的方法,正如我提到的,就是为给定的模型实例显示一个好的变更日志历史

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


任务太快,无法向用户显示由谁和何时更改的内容。该模型简单,不存储大量数据。不过,它确实存储外键。

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

1) 保存新模型实例之前先获取现有模型实例。比较每个字段。将更改后的字段放在reversion中。设置注释('(此处所有更改)')。继续保存模型实例

2) 将旧字段的副本分别保存在模型的uuu init_uuu()中,然后将新字段与它们进行比较(在模型的Save()中),以跟踪更改的内容。将更改的字段放在恢复中。设置注释(“(此处所有更改)”)。继续保存模型实例。(此方法将保存数据库查找)

3) 使用django reversion生成一个

我最终使用了,这对我展示编辑wiki风格非常有用(无论如何,这可能使用了上面的(3))

django reversion的开发人员也(3)将其视为一个更好的选择,它还可以避免竞争条件

如果你想探索不同的选择,这是一个很好的SO帖子,里面有很多好的想法和它们的优点/缺点


(我也在玩Django 1.10)

你最终做了什么?