使用 django-simple-history 防止删除

Preventing Deletion with django-simple-history

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

我想我可以创建标签和 "hide" 对象,而不是在我的视图中删除,但如果 django-simple-history 有更简单的方法,它会很好,它也将涵盖管理操作。

删除对象时,该删除也会记录在历史记录中。该对象不再存在,但它的历史是安全的。

如果您浏览您的数据库,您应该找到一个 table 名为:

[app_name]_history[model_name] 

它包含对象最后状态的一行。该行还包含其他列:history_id, history_change_reason, history_date, history_type。对于删除,history_type 将设置为“-”(减号)。

知道了,可以通过编程方式恢复删除,但不能通过 Django Admin。查看 django-simple-history 文档,了解有关如何以编程方式执行此操作的详细信息。

希望对您有所帮助!