这里的主要思想是在实例化之后将选择列表分配给该字段。为此,您需要使用arguments
coerce=int。SelectField的coerce关键字arg表示我们使用int()来强制转换表单数据。默认强制为unipre()。
正确的FormModel:
class AddName(FlaskForm): name =StringField('Device name', validators=[InputRequired(),Length(min=4, max=30)]) groupID = SelectField('Payload Type', coerce=int, validators=[InputRequired])
正确的视图:
@app.route('/dashboard/addname', methods=['GET', 'POST'])def addname(): available_groups=db.session.query(Groups).filter(Groups.userID == currend_user.userID).all() #Now forming the list of tuples for SelectField groups_list=[(i.groupID, i.groupName) for i in available_groups] form=AddName() #passing group_list to the form form.groupID.choices = groups_list if form.validate_on_submit(): name=Name(form.name.data,form.groupID.data) db.session.add(name) db.session.commit() return "New name added"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)