Это метод, который я использовал в предыдущем проекте для выбора нескольких полей с помощью формы.
Class add(Form)
conceptList = SelectMultipleField('conceptList', coerce=int)
# Dynamic adding a concept
def __init__(self, *args, **kwargs):
Form.__init__(self, *args, **kwargs)
# Get the concepts from concepts table
self.conceptList.choices = [(c.concept_id, c.concept_name) for c in Concepts.query.order_by('concept_name')]
и в файле представлений я использовал этот метод для извлечения данных из формы.
for concept_id in form.conceptList.data:
concept = Concepts.query.get(concept_id)
new_tool.concepts_tools.append(concept)
Это не в выпадающем меню, но вы можете найти его полезным.Разница в том, что выбор объявляется в форме.Я не уверен в этом, но я думаю, что вам нужно изменить selectField со строки на int, а также ссылаться на id языков в выборе.Как то так:
language = SelectField(u'Language', coerce=int)
def dashboard():
form = DashboardForm()
form.language.choices = [(lang.language_id,lang.language_name,lang.language_label) for lang in Languages.query.all()]
return render_template('dashboard.html', title='Dashboard', form=form)