0

问题:如何结合django-modeltranslationdjango-reversion应用程序?

我有下一个问题:在models.py文件中我注册Slide了具有head字段的模型。该字段还有其他几个用于翻译的字段,例如head_ru, head_kz, head_entranslation.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)
4

1 回答 1

0

最后我找到了解决方案:

@reversion.register(fields=['head', 'head_ru', 'head_en', 'head_kz',])
于 2017-11-30T08:48:54.563 回答