问题:如何结合django-modeltranslation和django-reversion应用程序?
我有下一个问题:在models.py
文件中我注册Slide
了具有head
字段的模型。该字段还有其他几个用于翻译的字段,例如head_ru
, head_kz
, head_en
。translation.py
我在和settings.py
文件中设置了这些字段。在 DB 幻灯片表中具有所有这些字段。我还以用户可以编辑数据的形式显示所有这些字段。当用户提交表单时 django-reversion 仅为头字段创建版本并忽略其他字段。如何解决这个问题?
模型.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,)
翻译.py:
from modeltranslation.translator import TranslationOptions
from modeltranslation.translator import translator
from .models import Slide
class SlideTranslationOptions(TranslationOptions):
fields = ('head',)
translator.register(Slide, SlideTranslationOptions)
设置.py:
LANGUAGES = (
('ru', 'Russian'),
('en', 'English'),
('kz', 'Kazakh'),
)
视图.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)