Django FormField, создающий несколько входных данных и сопоставляющий их с полями модели

Я использую django-modeltranslation, чтобы иметь определенные поля моих моделей на нескольких языках. Например, я перевожу поле имени, что приводит к появлению нескольких полей в модели и базе данных, таких как name, name_en, name_gr, etc..

Теперь я хочу, чтобы пользователь мог редактировать имя и его переводы в форме. И я хочу, чтобы пользователь мог выбрать язык, который он хочет редактировать, поэтому я хочу отобразить все поля (т.е. name_en, name_gr) и добавить JS, чтобы показать только одно из них и выбрать другие.

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

class MultilingualForm(ModelForm):
    name = MultilingualField()

    class Meta:
        model = SomeModel
        fields = ["name"]

Однако я не могу придумать, как сопоставить пользовательское поле формы с несколькими полями модели. Возможно ли это вообще?

Вернуться на верх