0

嘿嘿,

在 Django 中,我想创建我的模型“应用程序”的历史视图,该视图显示一个包含以下列的表:谁(更改)、何时、哪个字段、旧值、新值

我找到了django-simple-history应用程序,它将模型实例的每个版本都存储在一个新模型中。实际上正是我需要的,但我不知道如何获取历史对象的字段,尤其是比较两个排序的历史对象时发生变化的字段。

有没有人有一个想法或者一个全新的方法?

非常感谢!

4

2 回答 2

2

我最近在我自己的一个项目中做到了这一点。看看部分文档。基本思想是您将所有历史记录相互比较,然后遍历每个 diff 以查看各个字段的更改。如果你做对了,你应该能够构建如下所示的东西:

July 24th, 2018:
    Field | Initial value | New value
    ---------------------------------
    Name  | "Bob"         | "Bobby"
    bool  | True          | False
于 2018-08-03T15:24:38.727 回答
1

您可以考虑以下两点:

  1. 创建一个新模型并将历史表作为外键连接,这将是一对一的关系。
  2. 现在,您必须创建一个函数来通过比较每两个字段来检测哪些字段发生了变化。

如果我遇到同样的问题,我会像上面那样去。但是,如果您在此期间已经得到了解决方案,请分享。谢谢。

于 2018-04-17T19:21:23.190 回答