gpt4 book ai didi

django - 如何使用 django-simple-history 恢复更改,特别是删除

转载 作者:行者123 更新时间:2023-12-02 04:39:44 25 4
gpt4 key购买 nike

我们为我们的模型设置了django-simple-history。最近一大堆模型被神秘删除。这是在事后几天注意到的,因此最好避免完整的数据库备份恢复,因为这会删除事后发生的手动更改。

我找不到任何方法来轻松恢复模型实例,特别是已删除的模型实例。我可以查询模型的历史版本并找到已删除的所有内容。由此,我还可以观察到所有这些都被删除作为最后的更改。我可以使用 History - 1 上的实例属性来获取删除之前的状态,但如果我尝试保存它,则会出错,因为模型实例已被删除并且不再存在。

所以基本上,如果我有 django-simple-history 的历史记录,恢复已删除的模型实例的最干净的方法是什么?如果可能的话,我想保留历史记录,因此在完全重新创建对象之前我正在研究任何解决方案。

最佳答案

据我了解,问题是关于恢复已删除的模型实例,而不是类本身。所以卡尔的回答在这里没有帮助。要恢复已删除的实例,不能使用简单的历史记录。根据documentation ,简单的历史只能恢复仍然存在的模型实例。由于您拥有数据库的完整备份,因此您可以将此数据库导入到 django 环境中,从该备份数据库加载旧模型实例并将其保存到生产数据库(通过“using”在 django shell 中选择数据库)。请参阅this邮政。避免这种情况的最好方法是使用应用程序“reversion”。使用这个 django-app,您实际上可以恢复已删除的实例。请参阅documentation .

关于django - 如何使用 django-simple-history 恢复更改,特别是删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41731110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com