2

第一个问题:动态输入到 SelectField(选项)中,在我的数据库(sqlite,带有 SqlAlchemy)中我有一个表,从这个表中我不会选择 SelectField 中的选项中的所有条目。作为选定的结果,我需要条目中的 ID。

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

第二个问题:如果我把它放到 SelectField 中:

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

每次:

不是一个有效的选择

验证发生了什么?

感谢您的时间,祝您有美好的一天!

4

1 回答 1

3

两个答案:

  1. 利用wtforms.ext.sqlalchemy.fields.QuerySelectField

  2. 添加一个可调用的coerce参数,它将强制您从浏览器返回的字符串:

    SelectField('Foo', coerce=int, choices=[(1, 'Foo 1'), (2, 'Foo 2')])
    
于 2013-06-19T17:01:32.790 回答