колба wtf SelectField, динамический ввод и проверка

Первый вопрос: динамический ввод в SelectField (выборы), в моей базе данных (sqlite, с SqlAlchemy) у меня есть таблица, и из этой таблицы я не получу все записи в вариантах выбора из SelectField. В качестве выбранного результата мне нужен идентификатор из записи.

foo_id = SelectField('Label', choices=[Foo.query.all()])

Второй вопрос: если я помещу это в SelectField:

foo_id = SelectField('Foo', choices=[(1, 'Foo 1'), (2, 'Foo 2')])

Каждый раз:

Неверный выбор

Что происходит с валидацией?

Спасибо за ваше время, хорошего дня!


person user1644033    schedule 19.06.2013    source источник


Ответы (1)


Два ответа:

  1. Используйте wtforms.ext.sqlalchemy.fields.QuerySelectField

  2. Добавьте вызываемый аргумент coerce, который будет вызывать строки, которые вы получите обратно из браузера:

    SelectField('Foo', coerce=int, choices=[(1, 'Foo 1'), (2, 'Foo 2')])
    
person Sean Vieira    schedule 19.06.2013
comment
Спасибо за ответ, извините за поздний отзыв. У моего ноутбука произошел аппаратный сбой... - person user1644033; 28.06.2013