先粘贴代码:
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
时间: 2024-10-07 20:23:31