Могут ли django-moderation и django-reversion работать вместе для content_type? - PullRequest
5 голосов
/ 26 января 2012

Мы работаем над веб-сайтом django, на котором мы хотим предоставить пользователям контроль над контентом, но мы хотим, чтобы пользователи-администраторы модерировали контент и очередь принятого контента на случай, если некоторыеsuperuser хочет откатить данные до определенной версии в прошлом.

Я не могу найти приложение django, чтобы сделать обе вещи .Я читал о django-модерации и django-reversion, и мне было интересно, есть ли способ заставить их работать вместе.

Я видел, что это повторяющийся вопрос, но никто не отвечает это правильно.Типичный ответ - использовать одно или другое, но, похоже, ни у кого нет решения проблемы.

Я читал, что основная проблема заключается в том, что в случае наличия модерации и версий для контента, он может (дляконечно) создайте дерево версий .

Но потом я подумал, что хочу сохранить только принятые версии, тогда предыдущие версии будут генерировать линейную историю назад во времени, т. е. если я что-то отменю и приму новую вещь, то я думаю, что можно удалить отклоненную ветку с того места, где я вернулся , когда я принимаю (затем сохранить) новая версия , ведущая к новой ветке.

Возможно ли это сделать как с django-moderation, так и с django-reversion?

Информация о приложениях:

[1] https://github.com/etianen/django-reversion/wiki

[2] https://github.com/dominno/django-moderation

1 Ответ

5 голосов
/ 13 апреля 2012

'Да'.

Итак, у меня была такая же проблема, но у меня также была проблема с тем, что django-модерация кажется более чем неуправляемой.1005 *https://github.com/CBWhiz/django-moderation и сделал кучу изменений, чтобы заставить его работать под Django 1.4.Я почти уверен, что немного сломал обратную совместимость, поэтому я не уверен, что моя ветвь когда-нибудь будет повторно объединена.

Что касается реверсии django, она хорошо работает вместе для моих нужд.Мне пришлось добавить хак к django-модерации специально для его поддержки: https://github.com/CBWhiz/django-moderation/commit/3b367d68954cea3d7910d8efc5850a136229db0e#L0R49

Итак, установка django-reversion и моя ветка django-модерации работают достаточно хорошо вместе.

единственное возможное препятствие может заключаться в том, что в историю возврата будет добавляться запись при каждом нажатии кнопки «Сохранить», а не при утверждении, поэтому в ней также хранятся неутвержденные изменения.Возможно, это можно было бы взломать, если бы вы к этому стремились.

...