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"]
Однако я не могу придумать, как сопоставить пользовательское поле формы с несколькими полями модели. Возможно ли это вообще?