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

先粘贴代码:

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个空格。
问题解决。

 



转载于:https://www.cnblogs.com/jipinglong/p/9038456.html

发布了0 篇原创文章 · 获赞 3 · 访问量 4万+
展开阅读全文
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 编程工作室 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览