Работаю с Flask и WTForm. Имею форму с SelectField заполняю ее через запрос в базу потом формирование list и уже потом передаю на форму в render_template.
users_from_db = users_db.query.all() users_list = [(i.id, i.name) for i in users_from_db] input_form.username.choices = users_list
Но возник вопрос каким образом вернуть те же самые данные в форму с SelectField например если форма не прошла валидацию (чтобы не перезаполнять данные) или в других случаях когда нужно вернуть данные.
Как это сделать? У меня есть идея только такая:
1)получить данные через request.form.
2)получить значение которое вернулось от SelectField
3)сформировать как показал выше заполнение SelectField в форму.
4)из п.2 есть id пользователя, значит по нему могу найти из list значение
default_for_select=[item for item in users_list if item[0] == id_user]
input_form.username.default = default_for_select[0]
Во всем этом есть большое подозрение на велосипед, но возможно как то по лучше сделать?
Спасибо тем кто откликнулся.