Вложенные объекты с использованием WTForms (или FormEncode)?
Как лучше всего создавать формы с вложенными объектами / полями?
У меня есть объект "Команда" с полем "имя", и команда может состоять из 1 или многих (скажем, 12) участников, у каждого из которых есть имя, адрес электронной почты, возраст, размер футболки и т. Д. Я Я хотел бы проверить их все за один раз. Так что я бы опубликовал всех членов команды в виде массива... имена полей были бы что-то вроде members[0].name members[1].name или чего-то еще, что валидатор формы сможет проанализировать.
1 ответ
Решение
Создайте одну форму для команды и одну форму для участника. В Team-форме создайте FieldList из FormFields:
class Member(Form):
name = StringField("Name")
...
class Team(Form):
...
members = FieldList(FormField(Member))