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

django-simple-history - 我收到 django-simple-history 的类型错误

这似乎只在我尝试查看一些模型对象时发生。当我访问管理页面中某个对象的历史记录页面时,我得到以下信息:

完整追溯: https ://dpaste.com/EQMTDXK5H

编辑:看起来问题是我的模型的str正在返回一个整数,Django 似乎对此很满意,但 django-simple-history 并不满意。我将 str() 添加到我的str中以将整数转换为字符串,现在一切正常。

0 投票
1 回答
309 浏览

python - 恢复模型时,Django 简单历史记录插入而不是更新

我正在恢复文档中指定的模型实例:

但是,这会产生错误:

模型(在 app 中projects)如下所示:

当我使用该instance.history.as_of(<datetime>)方法时,也会出现同样的问题。

DSH 似乎试图插入一条新记录,而不是将现有记录更新为以前的状态。这里发生了什么?

0 投票
1 回答
92 浏览

django-models - Django 简单历史记录 + 保存自定义用户

我在 django 中使用 Simple History 模块,我在模型中使用了以下代码来保存历史记录

===========================

============================

我面临的问题是,当我通过我的 jango 应用程序登录时,我得到 request.user 作为 UserProfile 并且我能够成功地在应用程序中做这些事情。但是当我通过 django Admin 模块登录并在模型中添加数据时,我收到低于 500 错误的错误。

ValueError:无法分配“<UserProfile:UserProfile 对象>”:“HistoricalCustomerTable.history_user”必须是“用户”实例。

目前我的应用程序正在使用内置用户表进行身份验证,当我们通过管理模块登录时如何确保获取 UserProfile 对象?,或提出一些想法

好心提醒。

0 投票
1 回答
199 浏览

python - 使用 django-simple-history 和 DRF 时,如何创建额外的操作来访问对象的历史记录?

我是 Python、Django 和 DRF 的新手,但我已经阅读了设置基本 REST 服务器所需的所有教程,对于这个示例,我们假设它只服务一件事:客户列表。此外,我已经安装django-simple-history并注册了我的Customer模型。

这是我迄今为止编写的代码,一切似乎都运行良好。

api/urls.py

api/views.py

api/serializers.py

实际上,当我转到 时api/customerhistory/1,它为我提供了客户 1 的所有历史记录的可爱列表。

问题

我想要做的是访问相同的列表api/customer/1/history

到目前为止我的尝试...

为此,我将删除CustomerHistoryView并在类中添加额外的操作CustomerView

api/views.py

这会产生以下错误:

我究竟做错了什么?

0 投票
0 回答
72 浏览

django - 如何用标准 django 管理视图中的操作列替换 django-simple-history 视图中的评论列?

我正在尝试增强数据库中实例的跟踪选项。我已经应用了 django-simple-history 应用程序。除了我觉得完全没用的 COMMENTS 列之外,它有很大帮助。 django-simple-history 视图中的评论栏

我更愿意用标准历史管理视图中的列 ACTION 替换列注释。 标准管理视图中的操作列

有没有简单的方法可以做到这一点?

0 投票
1 回答
82 浏览

django - 如何从 django-simple-history 解析查询集?

如何将 django-simple-history 中的查询集解析为包含以下列的 html 表:history_id、history_date 等。我继承了 DetailView 类

0 投票
0 回答
27 浏览

django - 跟踪 django-simple-history 的 GenericForeignKey 更改

如果模型的字段只是一个普通的 ForeignKey,我可以跟踪更改没有问题:

但是,如果我的模型是 GenericForeignKey,我会收到以下错误消息:AttributeError: 'HistoricalFoo' object has no attribute 'content_object'

然而,django-simple-history 似乎确实跟踪content_typeobject_id更改,所以我可以手动构建content_object

这是唯一/最好/正确的方法吗?

0 投票
0 回答
49 浏览

python - django-simple-history - 过滤模型截至日期

我正在尝试根据他们的业务过滤员工模型,但为了保持统计数据的准确性,我还希望能够获得截至特定日期的所有员工。

使用 django-simple-history 我可以执行 Employee.history.as_of(date) ,它返回一个生成器对象,其中包含截至该日期的员工。

有没有一种方法可以将 as_of() 方法与 djangos 对象过滤结合使用?

我可以循环遍历生成器并在其中进行检查,但我认为这将是低效的。

0 投票
0 回答
48 浏览

python - 使用 django-simple-history 和 django-queryable-properties 在 Django 查询集中添加历史字段值

所以一些快速的背景知识:我正在尝试构建一个查询集以链接到管理面板并将其合并到整个应用程序堆栈中。这将帮助我为我的最终用户按需提供他们需要的信息,同时减少我手动创建和共享报告的需要。我正在尝试完成以下任务:

理想情况下,我会从这里运行DateReport.objects.filter(severity_score__gt=F('get_prev_score'),但这不起作用,因为它需要注释,并且如果不通过 F 对象显式引用数据字段就无法进行注释,并且不能HistoricalRecord与 F 对象一起使用。我尝试过使用子查询,但只能在注释时返回空值。

有什么想法吗?

0 投票
0 回答
194 浏览

python - Django simple-history 如何跟踪 ForeignKey 关系?

我正在使用 django-simple-history 来跟踪模型上某些字段的更改。

我的简化模型设置:

现在理想情况下,我希望看到Item变化反映在Collection.history.

例如,如果Item将一个新条目添加到集合中,我希望在Collection.history.

这有可能吗?

编辑:关于我想做的更多细节:基本上每当内部发生Collection变化时,我都希望有一个快照能够进行差异。

例如,description更改了,然后我可以简单地在两个快照之间进行比较,看看发生了什么变化。这适用于简单历史。

现在不起作用的是,每当Item更改/添加/删除 an 时,新状态都不会反映在 my 的历史记录中Collection。考虑:

如果我检查c.history,据我所知,没有办法知道它item已添加到集合中。