В моем приложении для колб мне нужно отрисовать форму, которая имеет MultipleSelectField с некоторыми уже выбранными параметрами .Я сделал это успешно, но проблема в том, что они не выделены , и, таким образом, пользователь не может знать, какие параметры уже выбраны , что также позволяет их отключить.Любые идеи о том, как я могу сделать это из бэкэнда или даже с помощью ванильного JavaScript.Вот функция представления, которая отображает форму:
@home.route('/edit/<int:id>', methods=['GET', 'POST'])
@login_required
def edit_post(id):
post = Post.query.get_or_404(id)
if current_user != post.author and not current_user.can(Permission.ADMINISTER):
abort(403)
form = PostForm()
form.tag.choices = [(tag.id, tag.name) for tag in Tag.query.order_by('name')]
if form.validate_on_submit():
post.body = form.body.data
posttags = db.session.query(categories).filter_by(post_id=id).all()
for id in form.tag.data:
if (post.id, id) not in posttags:
post.tags.append(Tag.query.get(id))
db.session.commit()
return redirect(url_for('.view_post', id=post.id))
form.body.data = post.body
# already selected values
form.tag.data = [tag_id for tag_id in db.session.query(categories).filter_by(post_id=post.id).all()]
return render_template('home/edit_post.html', form=form, title='Edit Post')
Провели некоторые исследования.Итак, в двух словах, как я могу добавить атрибут selected к предварительно выбранным параметрам.