当我在安装了Reversion的Django Admin中删除对象时,我可以查看所有已删除的对象。但是当我在自编(gerenic)视图中删除它时,我看不到删除的对象。 (我正在使用上下文管理器。当我在通用视图中更新对象时,我可以看到历史记录中的更改。)
这就是我尝试这样做的方法(所有的类和方法都没有修改):
class ModelDelete(DeleteView):
def delete(self, request, *args, **kwargs):
with transaction.atomic(), reversion.create_revision():
reversion.set_user(request.user)
reversion.set_comment('Deleted')
return super(ModelDelete, self).delete(request, *args, **kwargs))
我正在使用Django 1.7.10和Reversion 1.9.3。
我在文档中找不到如何做到这一点。我错过了什么?我认为这很容易。
答案 0 :(得分:1)
删除对象不会将其添加到修订版中。尝试在删除对象之前保存对象。
with transaction.atomic(), reversion.create_revision():
obj = self.get_object()
obj.save() # save the object so it is added to the revision.
reversion.set_user(request.user)
reversion.set_comment('Deleted')
return super(ModelDelete, self).delete(request, *args, **kwargs))