Для сохранения истории моделей пытаюсь подключить приложение
django-reversion. Делаю по документации и если, сохранять из административного интерфейса, то все работает корректно, но из UpdateView никаких записей не производится. Использую Django==1.5.6 и django-reverion==1.7.1.
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.middleware.transaction.TransactionMiddleware',
'reversion.middleware.RevisionMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
Хотя, если я правильно понял из
документации, мне должно быть достаточно только следующих строк:
models.py# Регистрируем необходимые модели
for report in reports_list():
reversion.register(report)
views.pyclass ReportUpdate(UpdateView):
...
def post(self, request, *args, **kwargs):
response = super(ReportUpdate, self).post(request, *args, **kwargs)
self.object = self.get_object()
self.object.editor = request.user.profile
self.object.is_filled = True
with transaction.commit_on_success(), reversion.create_revision():
self.object.save()
reversion.set_user(request.user)
reversion.set_comment('comment...')
return response
Если кто сталкивался, укажите на ошибки или куда копать, какую строку внимательней прочитать...