【问题标题】:How to save data about deleted records in the django-reversion?如何在 django-reversion 中保存有关已删除记录的数据?
【发布时间】:2017-01-13 11:05:39
【问题描述】:

为了保存数据库中对象的更改历史,我开始使用 django-reversion。

但是当从数据库中删除一条记录时,我看不到表中的记录更改历史记录。

可能是什么问题?

我没有在文档中找到任何内容。此库是否存储已删除数据的历史记录?

【问题讨论】:

  • docs 列出了库的一项功能,您可以“恢复已删除的模型实例”。你是如何使用图书馆的?您是否启用了中间件,或者您是否从自己的代码调用 API?为您的问题添加更多信息。
  • @Tony 我已经包含了中间件并将注解 @reversion.register() 放在模型上。当您更改数据库中的记录时,数据存储在表 reversion_revision 和 reversion_version 中。当您删除一条记录时,它会丢失表 reversion_revision 和 reversion_version。删除的记录会在哪里恢复?

标签: python django


【解决方案1】:

没有使用 django-reversion 我建立了一个项目并安装了它。在创建了一个简单的模型并创建了initial revision 之后,我添加了一些模型实例,然后删除了一个。

我的模型表只包含当前数据

通知id 2 丢失,这是已删除的行。

reversion_revision 表包含有关何时添加模型的信息

reversion_version 表包含代表对象的 json 数据

在管理屏幕上有一个用于恢复已删除模型的按钮,当我单击它时,我会进入显示已删除行的屏幕

因此,似乎没有保留特定的“删除”记录,而是在恢复表和您的模型表之间进行比较,并确定哪些模型已被删除。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多