Python 在Django中创建显示特定字段更改的自定义历史记录

Python 在Django中创建显示特定字段更改的自定义历史记录,python,django,field,history,django-simple-history,Python,Django,Field,History,Django Simple History,嘿嘿, 在Django中,我想为我的模型“应用程序”创建一个历史视图,该视图显示一个包含以下列的表:Who(已更改)、When、which字段、old Value、new Value 我找到了一个应用程序,它将模型实例的每个版本存储在一个新模型中。事实上,这正是我所需要的,但我不知道,如何获得一个历史对象的字段,尤其是比较两个有序历史对象时发生变化的字段 有人对此有什么想法或是一种全新的方法吗 非常感谢 这里有两件事你可以考虑: 创建一个新模型并将历史表作为外键连接,它将是一对一关系 现在,您必

嘿嘿,

在Django中,我想为我的模型“应用程序”创建一个历史视图,该视图显示一个包含以下列的表:Who(已更改)、When、which字段、old Value、new Value

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

有人对此有什么想法或是一种全新的方法吗


非常感谢

这里有两件事你可以考虑:

  • 创建一个新模型并将历史表作为外键连接,它将是一对一关系
  • 现在,您必须创建一个函数,通过比较每两个字段来检测哪些字段发生了更改
  • 如果我面对同样的问题,我会如上所述。
    但是,如果您在此期间已经获得了解决方案,请与我们分享。谢谢。

    这里有两件事你可以考虑:

  • 创建一个新模型并将历史表作为外键连接,它将是一对一关系
  • 现在,您必须创建一个函数,通过比较每两个字段来检测哪些字段发生了更改
  • 如果我面对同样的问题,我会如上所述。
    但是,如果您在此期间已经获得了解决方案,请与我们分享。谢谢。

    我最近在自己的一个项目中这样做了。看一看部分文档。其基本思想是将所有历史记录相互区分,然后在每个区分上循环以查看各个字段的变化。如果你做对了,你应该能够构建如下的东西:

    July 24th, 2018:
        Field | Initial value | New value
        ---------------------------------
        Name  | "Bob"         | "Bobby"
        bool  | True          | False
    

    我最近在自己的一个项目中这样做了。看一看部分文档。其基本思想是将所有历史记录相互区分,然后在每个区分上循环以查看各个字段的变化。如果你做对了,你应该能够构建如下的东西:

    July 24th, 2018:
        Field | Initial value | New value
        ---------------------------------
        Name  | "Bob"         | "Bobby"
        bool  | True          | False
    

    您如何从增量更改中检索日期?它只包含
    字段
    旧的
    新的
    。我正在尝试获得类似的结果,但在迭代
    delta.changes
    时,无法理解如何访问历史字段,例如
    changed\u by
    history\u date
    。如何从
    delta.changes
    检索日期?它只包含
    字段
    旧的
    新的
    。我正在尝试获得类似的结果,但在迭代
    delta.changes
    时,无法确定如何访问历史字段,例如
    changed\u by
    history\u date