SQLAlchemy/WTForms: set default selected value for QuerySelectField
flask, python, selection, sqlalchemy, wtforms
Solution
You need to set your `default` keyword argument to the instance of `Authors` that you want to be the default:
# Hypothetically, let's say that the current user makes the most sense
# This is just an example, for the sake of the thing
user = Authors.get(current_user.id)
ContentForm.author = QuerySelectField('Author', get_label='name', default=user)
Alternately, you can provide the instance to the field on instantiation:
# The author keyword will only be checked if
# author is not in request.form or content
myform = ContentForm(request.form, obj=content, author=user)
Problem
This [example][1] to set up a form with WTForms and SQLAlchemy in Flask and add a QuerySelectField to the form works. I am not using `flask.ext.sqlalchemy`, my code: ``` ContentForm = model_form(Content, base_class=Form) ContentForm.author = QuerySelectField('Author', get_label="name") myform = ContentForm(request.form, content) myform.author.query = query_get_all(Authors) ``` Now I want to set the default value of the QuerySelectField's selectlist. Tried passing a `default` kwarg in QuerySelectField and setting `selected` attributes. Nothing worked. Am I missing something obvious? Can someone help?