码迷,mamicode.com
首页 > 其他好文 > 详细

在flask框架中,对wtforms的SelectMultipleField的一个报错处理

时间:2018-05-14 23:08:21      阅读:1454      评论:0      收藏:0      [点我收藏+]

标签:esc   pre   sel   选择   级联   分代   选中   .com   multiple   

先粘贴代码:

form.py文件:

users = SelectMultipleField(
label="请选择用户",
validators=[
DataRequired("请输入用户列表!")
],
coerce=int,
choices=[],
description="权限列表",
render_kw={
"class": "form-control"
}
)
views.py文件:
部分代码:
user_list = UserAdmin.query.join(User).filter(
UserAdmin.admin_id == session["admin_id"],
UserAdmin.user_id == User.id
).all()
if request.method=="GET":
form.users.coerce=int
form.users.choices=[(v.user_id, v.user.name) for v in user_list]
if form.validate_on_submit():
data=form.data
因为两表级联查询要用到session["admin_id"]的值,无法在form.py中给choices赋值,所以只能将赋值放到view.py中进行。

技术分享图片

初始值确实赋值成功了,但是,选中提交时,报错:

技术分享图片

注意,其中的7是选中的那个选项的v.user_id.

解决办法:

去掉view.py中的

if request.method=="GET":

并将下面两行向前缩进4个空格。
问题解决。

 



在flask框架中,对wtforms的SelectMultipleField的一个报错处理

标签:esc   pre   sel   选择   级联   分代   选中   .com   multiple   

原文地址:https://www.cnblogs.com/jipinglong/p/9038456.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!