首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Django-Reversion中的多个撤销

Django-Reversion中的多个撤销
EN

Stack Overflow用户
提问于 2014-11-13 18:30:19
回答 1查看 144关注 0票数 0

我想撤消在模型中所做的更改。我可以使用django-reversion撤销它。但是我如何多次撤销我的更改呢?

例如:-

我有一个模型

代码语言:javascript
复制
with reversion.create_revision():
    server_obj = Server(url = 1)
    server_obj.save()

现在,我更新它两次。说到两次,我的意思是我调用了这个函数两次,或者说n次。

代码语言:javascript
复制
with reversion.create_revision():
    url = bundle.data['url']
    server_obj.url = url

我如何在n倍的时间内撤消。

目前,我是这样做的。

代码语言:javascript
复制
your_model = Server.objects.get(id = id)
version_list = reversion.get_unique_for_object(your_model)
version = version_list[1]
version.revision.revert()

我该怎么做?

EN

回答 1

Stack Overflow用户

发布于 2014-11-13 19:45:16

version_list.order_by('-revision__date_created')2.revert()

然而,这将恢复,而不会留下它自己的修订。

查询集中有一个名为last()的东西,它可以显示对象在最后一次更改之前所持有的版本。然而,它对于你的用例是不可用的,因为它不跟踪revert()。

我认为对你来说唯一可能的方法是建立一个外部模型来跟踪撤销。这是混乱的,很容易出现边缘情况。我有种感觉,一定有更好的方法来做这件事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26906692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档