问题标签 [django-reversion]

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 投票
0 回答
113 浏览

django - Django-reversion 外键数据“跟随”问题 - 创建对象时从历史记录中获取相关模型实例

假设我有模型:

案例一:(第一版模板)

电子邮件模板数据:

电子邮件消息数据:

案例 2:(模板的第二个版本,添加了 last_name 字段)

电子邮件模板数据:

电子邮件消息数据:

在从模板创建新电子邮件时,我会对其进行解析以制作额外的表单字段。它让我可以在EmailTemplate中声明此电子邮件模板和表单的字段。

我在管理员中创建 EmailTemplate,所以我可以看到所有历史版本。

问题是当我从我的已发送电子邮件列表中选择一封电子邮件以使用此指定模板版本(它可能来自过去)再次发送电子邮件时,因为模板可以稍后修改。

我知道我可以创建一个新模板,但是会有很多,我不会用我决定使用reversion 的原因来打扰你。我还想避免将大型 html 内容附加到保存到数据库中的 EmailMessage 实例。将有更多功能,例如查看此电子邮件的网络版本、取消订阅等。

我宁愿能够使用变量(custom_data)在 EmailMessage 中呈现模板(通过 ForeignKey“模板”属性),但它总是指向最新的模板版本。

是否可以在创建 EmailMessage 时以某种方式链接模板信息/数据?如果是,是否为每个新的 EmailMessage 实例复制/创建了模板数据(有 mroe 字段),或者它只是保存了修订 ID 并从 EmailTemplate 修订中获取?

使用最新的 django-reversion v. 3.0.9

谢谢

0 投票
0 回答
67 浏览

django - 如何在 django-reversion 中获取字段、新值和更新值?

我正在使用 Django-reversion 来跟踪版本。我想在所有具有已更新字段名称的模型中获取以前的值以及更新的值。这是我到目前为止尝试过的代码:

single_card.html

我想跟踪已更新的字段,该字段的新旧值。谁能帮我这个 ?

0 投票
0 回答
84 浏览

django - 如何在 Django 中获取用户的活动历史记录?

我需要显示用户在我的系统中所做的所有操作的页面(这样他们的经理基本上可以看到他们一直在做什么)。

我在以前的项目中使用过 Django-Reversion,但我在文档/谷歌搜索等中真正能找到的只是获取特定对象的更改历史记录。即不是特定用户对几个对象(各种模型)所做的更改。

有人知道.filter(user=request.user)在数据库中的所有版本(无论型号如何)上可能会说的方法吗?或者甚至更好,只是一个相关的名称,所以也许request.user.versions。我看到的唯一方法是get_for_object()and get_for_model()。我想我想要的是 get_for_user()

另外,django-simple-history 可能会更好吗?

0 投票
0 回答
14 浏览

django - 未在 TestCase 中创建修订(Django、django-reversion、测试)

试图覆盖django-reversion我的模型的测试功能,但版本不是在测试数据库中创建的,在从管理界面手动创建时一切正常。

模型:

测试:

打印输出: