问题标签 [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 回答
870 浏览

django-simple-history - 使用 django-simple-history 防止删除

我开始使用 django-simple-history 来保留历史记录,但是当我删除一个对象(至少从管理页面)时,我注意到它已经一去不复返了。

我想我可以创建标签和“隐藏”对象而不是在我的视图中删除,但如果 django-simple-history 有一种更简单的方法会很好,这也包括管理操作。

0 投票
1 回答
1094 浏览

python - 按日期和日期时间划分的 Django 模型历史记录

假设我有这样的模型:

我正在使用 django-simple-history 来获取模型的实例,因为它在提供的日期和时间已经存在:

它工作正常,但我想获得一个实例,其中余额字段表示为在提供的日期和时间存在,然后债务字段将是该日期的最新字段。我不知道这是否可能,没有找到任何相关信息。

0 投票
1 回答
213 浏览

django - 为 Django Simple History 历史对象生成 url

给定一个名为 的模型Stuff,我想要一个HistoricalStuff对象的 url。

换句话说,如何get_historical_url在下面的代码片段中实现?

显然,愚蠢的解决方案是使用格式字符串,但我宁愿使用 urlresolvers

0 投票
1 回答
168 浏览

django-simple-history - 如何判断一个模型是否有简单的历史记录?

我需要一种方法来判断模型是否具有 simple-history HistoricalRecord

一个不好的方法是检查是否self.history存在,但我不喜欢这样,因为开发人员不必使用 use history 作为HistoricalRecord.

或者,我可以尝试遍历,dir(model)但这会遇到相关名称反向查找可能导致DoesNotExist异常的问题。我可以尝试捕捉异常,但那很难看。

我需要这个,因为我想在 django admin 中将一个链接添加到一个特殊视图中,以查看简单的历史记录,并且我只想在模型具有HistoricalRecords.

0 投票
2 回答
959 浏览

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

嘿嘿,

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

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

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

非常感谢!

0 投票
1 回答
232 浏览

python - Django:在“simple_history”包中注册“用户”模型时遇到问题

设想:

我在 Django 中使用simple_history包。

在文档中,在高级使用部分“第三方模型的历史”它说,

" 要跟踪您未创建的模型的历史记录,请使用 simple_history.register 实用程序。您可以使用它来跟踪您无法控制的第三方应用程序中的模型。这是使用 simple_history.register 记录历史记录的示例-从 django.contrib.auth 应用程序跟踪用户模型”

所以我把代码放在 models.py 中(也尝试了 admin.py),如下所示:

问题:当我运行python manage.py makemigrations它给出以下错误:

我现在可以做什么来注册我的用户模型?

0 投票
0 回答
83 浏览

python - Django simple-history + taggit - 跟踪“标签”字段更改

目前,我在使用 simple-history 包存储标签添加/修改/删除历史时遇到问题

一切都按预期工作,除了“标签”字段更改未在历史更改中表示这一事实。尝试检查历史记录中的任何其他实例都会在各处显示相同的标签,无论何时添加或删除它们 - 它们始终存在。

尝试过类似的东西

但无济于事。

我被文档困住了至少一两个小时,老实说,我对 Python 和 Django 总体上真的没有经验。如何使标签的历史记录对我有用?

0 投票
1 回答
748 浏览

django - 将迁移更改写入 django 简单历史记录

django-simple-historyinstance.save()在方法上写入历史更改。但是当我编写更改实例数据的迁移时,更改并没有出现。

save()方法

一样吗?有没有办法将这些更改写入历史?

0 投票
1 回答
991 浏览

django - DJANGO - 使用简单的历史,如何在一个查询中同时显示基本模型记录和相关的历史组计算?

我正在为我的 Django 项目使用简单的历史库。它非常漂亮,但我无法在基本模型对象旁边显示汇总的历史统计信息。这是我的模型的样子:

文档让我相信访问历史记录的正确方法是使用历史管理器。我可以得到我想要的两组信息:

所有形式(基础模型对象) -

历史计算(历史对象)在这个例子中,我得到了每个表格的最新事件——

我觉得这应该可以在一个查询中完成,但不是吗?输出如下内容的一个查询:

0 投票
2 回答
4238 浏览

django - DJANGO - simple-history - 如何使用标准 django ORM 查找从基本模型中查找历史表

这可能是一个简单的答案,但我在这个主题上找不到可靠的“是”或“否”。我正在使用 Django simple-history,我试图通过历史表中的信息过滤基本模型对象。因为 simple-history 会自动生成历史表,而我本身并没有为其创建历史模型,所以我不知道 django ORM 查找语法是否在这里有效。我的表关系看起来像这样。这是模型:

我正在尝试按历史记录过滤 RepairForm 对象。举个例子; 只有历史表中有一个名为“history_change_reason”的字段。它只是一个用于保存(理想情况下)描述更新发生原因的字符串的字段。参考我链接的表图像,我想我可以通过遍历它们与用户表的关系来使用 RepairFormHistory 表过滤掉 RepairForm 对象。就像是:

“repairformhistory”是我对历史模型(如果有的话)的最佳猜测。错误:

我在这里离基地很远吗?我可以穿越这样的关系吗?即使“repairformhistory”没有模型,只是通过用户链接到原始表?