我开始使用 django-simple-history 来保留历史记录,但是当我删除一个对象(至少从管理页面)时,我注意到它已经一去不复返了。
我想我可以创建标签和“隐藏”对象而不是在我的视图中删除,但如果 django-simple-history 有一种更简单的方法会很好,这也包括管理操作。
我开始使用 django-simple-history 来保留历史记录,但是当我删除一个对象(至少从管理页面)时,我注意到它已经一去不复返了。
我想我可以创建标签和“隐藏”对象而不是在我的视图中删除,但如果 django-simple-history 有一种更简单的方法会很好,这也包括管理操作。
当对象被删除时,该删除也会记录在历史记录中。该对象不再存在,但其历史是安全的。
如果你浏览你的数据库,你应该找到一个名为:
[app_name]_history[model_name]
它包含带有对象最后状态的行。该行还包含其他列:history_id, history_change_reason, history_date, history_type
. 对于删除,history_type
将设置为“-”(减号)。
知道了这一点,可以通过编程方式恢复删除,但不能通过 Django Admin。查看 django-simple-history 文档以获取有关如何以编程方式执行此操作的详细信息。
希望有帮助!