问题标签 [django-simple-history]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
92 浏览

python - Django restful create api 将新条目标记为在创建时编辑

我一直在使用 django-simple-history 跟踪我的应用程序中评论的编辑历史,我已经能够跟踪已编辑的评论,但刚刚意识到在创建时也在跟踪条目。即在创建时将新条目添加到历史表中。

我的模型

我的视图类

0 投票
1 回答
300 浏览

django - 一起使用 Django SimpleHistory 和 TabularInline

我想将 ModelA 显示ModelB 的TabularInline,同时想使用 Django 简单历史模块维护对ModelA的更改历史记录。

有没有办法做到这一点?浏览了 TabularInline 和 Django simpleHistory 的官方文档,但没有得到太多帮助。

A型

B型

0 投票
1 回答
90 浏览

django - 如何获取多个对象的第一次和最后一次更新的修订日期?

我需要对 SomeModel 的所有实例进行批量查询,并用它们的创建日期和最后一次更新来注释它们。这是我尝试过的并且非常慢:

我该如何优化代码?我想问题是我正在做很多 SELECT 查询,而可能会做一个更复杂的查询。

0 投票
1 回答
575 浏览

python - Django简单历史没有记录用户

我正在使用django-simple-history记录模型中的更改。我设法保存了更改日志,但我总是None在现场history_user

我正在关注本教程

这是我的模型:

我不知道让用户登录我缺少什么。

编辑

这是我保存预订的地方:

0 投票
1 回答
1283 浏览

django - Django 简单历史 - 历史差异

所以我将 django-simple-history 用于我的一个项目。我在一个名为“地址”的模型上使用它来显示记录的历史。

我创建了一个 DetailView 来显示有关地址的信息,并添加了 context['history'] 来显示记录的更改。这一切正常。

我会对哪些领域发生了变化感兴趣,我阅读了以下内容;历史差异

所以我不知何故需要遍历最后两条记录中的所有字段并找到已更改的字段...

我找不到任何关于如何实现这一点的示例,所以我尝试将上下文添加到视图中

和一个简单的模型

模板

不知何故,这感觉不对,应该有一种方法来迭代更改并仅将更改的字段添加到上下文中...

任何想法,将不胜感激!

0 投票
2 回答
738 浏览

django-rest-framework - 是否可以使用 django-simple-history 创建具有所有历史记录的序列化程序?

我正在使用 django-simple-history 来记录我的模型中的活动。我的想法是有一个序列化程序来聚合所有模型的活动,并使用过滤器(每个模型和用户)显示这些信息。

像这样 的东西...api/history/?table=example&user=2...api/history/?table=another_example

楷模

串行器

意见

0 投票
1 回答
145 浏览

django - Django SimpleHistoryAdmin 如何更改自定义列名

在 Django SimpleHistoryAdmin 列表视图中有 5 个默认列(OBJECT、DATE/TIME、COMMENT、CHANGE_BY、CHANGE_REASON)。我可能会添加另一列将其添加到,history_list_display但此附加列的名称显示为代码中的名称,例如first_name. 有没有一种简单的方法来显示它First Name

0 投票
1 回答
151 浏览

python - 如何为 django 简单历史表设置 manage=False

我正在使用django-simple-history我的模型。我正在删除模型上的一个字段,但将meta属性设置managedFalse. 然而,这并不能转化为简单的历史表。有没有办法做到这一点?

0 投票
2 回答
928 浏览

python - django-simple-history 从 python shell 跟踪用户

我们正在使用 django-simple-history 来跟踪我们模型的变化。所有模型都有一个history = HistoricalRecords()字段。从 python shell 对模型进行更改时,会跟踪更改,但是该changed_by字段保存为None. 当在 admin 中进行更改时,simple_history 中间件会从登录的人那里获取 User 实例。显然在 shell 中我们没有。有没有办法根据现有的 Account 对象手动注入 User 实例?

不幸的是,我无法更改任何这些模型,因此我无法将任何历史用户 getter 和 setter 添加到我们的模型中(项目经理对重构非常严格,我们也有很多模型)

0 投票
1 回答
577 浏览

django - 通过 created/creator 过滤 Django Simple-History

我创建了一个简单的 Django 数据模型,它使用 Django Simple-History 进行审计:

为了 DRY,我试图利用 Simple-History 的history_date&history_user属性来代替添加created_atcreated_by属性。我添加了几个属性来简化访问这些属性的历史记录,如下所示:

当我使用实例时,这很好用。现在,当我尝试按history_dateor过滤查询集时遇到了问题history_user。例如,我可以通过执行以下操作过滤过去 24 小时内创建的对象:

但是,我无法弄清楚如何过滤AuditedModel多个属性。最终,我想获得一个带有由特定用户创建的新实例的查询集。

就像是:

这不起作用,因为history无法解决,但它说明了(我希望)我想要达到的目标。

有没有人以这种方式使用简单历史,他们是否可以推动我朝着正确的方向解决这个问题?在这一点上,我正在讨论用适当的字段替换我的created_bycreated_at属性,因为我看不到替代方案,但感觉不对。