我想撤消在模型中所做的更改。我可以使用django-reversion撤销它。但是我如何多次撤销我的更改呢?
例如:-
我有一个模型
with reversion.create_revision():
server_obj = Server(url = 1)
server_obj.save()现在,我更新它两次。说到两次,我的意思是我调用了这个函数两次,或者说n次。
with reversion.create_revision():
url = bundle.data['url']
server_obj.url = url我如何在n倍的时间内撤消。
目前,我是这样做的。
your_model = Server.objects.get(id = id)
version_list = reversion.get_unique_for_object(your_model)
version = version_list[1]
version.revision.revert()我该怎么做?
发布于 2014-11-13 19:45:16
version_list.order_by('-revision__date_created')2.revert()
然而,这将恢复,而不会留下它自己的修订。
查询集中有一个名为last()的东西,它可以显示对象在最后一次更改之前所持有的版本。然而,它对于你的用例是不可用的,因为它不跟踪revert()。
我认为对你来说唯一可能的方法是建立一个外部模型来跟踪撤销。这是混乱的,很容易出现边缘情况。我有种感觉,一定有更好的方法来做这件事。
https://stackoverflow.com/questions/26906692
复制相似问题