我们正在django网站上工作,我们希望让用户控制内容,但是我们希望让管理员用户来审核内容,并在某些超级用户想要将数据回滚到特定版本的情况下让已接受内容排队。在过去。
我找不到Django应用程式来做这两件事。我正在阅读有关django-moderation和django-reversion的文章,我想知道是否有办法使它们一起工作。
我看到这是一个反复出现的问题,但是没有人回答正确。典型的答案是使用一个或另一个,但是似乎没有人可以解决该问题。
我读到主要的问题是,如果内容具有审核和版本,则(肯定)可能会创建版本树。
但是然后,我以为我只希望存储接受的版本,那么过去的版本会在时间上向后生成线性历史记录,即如果我还原某些内容并接受新的内容,那么我认为删除拒绝的分支是可以的从我接受(然后存储)新版本时还原的角度出发,指向一个新的分支。
django-moderation和django-reversion都可以做到吗?
有关应用程序的信息:
[1] https://github.com/etianen/django-reversion/wiki
[2] https://github.com/dominno/django-moderation
最佳答案
'是'。
因此,我遇到了同样的问题,但是我也遇到了这样的问题,django-moderation似乎远远没有得到维护。
我在https://github.com/CBWhiz/django-moderation上分叉了django-moderation,并进行了大量更改,以使其实际在Django 1.4下工作。我可以确定我虽然破坏了一些向后兼容性,所以我不确定我的分支是否会被重新合并。
至于django-reversion,它可以很好地满足我的需求。我必须专门为django-moderation添加一个hack,以支持它:https://github.com/CBWhiz/django-moderation/commit/3b367d68954cea3d7910d8efc5850a136229db0e#L0R49
因此,安装django-reversion和我的django-moderation分支可以很好地协同工作。
唯一可能的问题是,还原历史记录将在您每次单击保存时(而不是在您批准时)添加一个条目,因此它还会存储未经批准的编辑。可以想象,如果您对此感到满意,也可以尝试破解它。