Здравствуйте! Помогите пожалуйста разобраться.
Использую в своем проекте приложения
django-reversion и
django-modeltranslation.
Столкнулся со следующей проблемой: зарегистрировал модель данных
Slide для контроля изменений
@reversion.register()
. В модели данных Slide есть поле
head, для которой применил приложение django-modeltranslation. В итоге в базе данных в таблице Slide создаются поля
head,
head_ru,
head_en,
head_kz. Все эти поля я вывожу в форму, где пользователь может редактировать данные. При отправки формы (submit) в БД (в таблице
REVERSION_VERSION
) сохраняется изменения лишь для поля head.
Вопрос у меня следующий, как зарегистрировать поля
head_ru,
head_en,
head_kz созданные приложением django-modeltranslation в django-reversion? Возможно ли это?
models.py:from django.db import models
import reversion
@reversion.register()
class Slide(models.Model):
head = models.CharField(verbose_name='Title', max_length=200, blank=False,)
translation.py:from modeltranslation.translator import TranslationOptions
from modeltranslation.translator import translator
from .models import Slide
class SlideTranslationOptions(TranslationOptions):
fields = ('head',)
translator.register(Slide, SlideTranslationOptions)
settings.py:LANGUAGES = (
('ru', 'Russian'),
('en', 'English'),
('kz', 'Kazakh'),
)
views.py:class SlideEditView(RevisionMixin, UpdateView):
template_name = 'slider/edit_slide.html'
form_class = SlideForm
model = Slide
def form_valid(self, form):
form.save()
data = dict()
data['form_is_valid'] = True
context = {'slides': Slide.objects.all(),}
data['html_slides'] = render_to_string('slider/slides.html', context)
reversion.set_comment('EDIT')
return JsonResponse(data)