When attempting to set the default value of a SelectField with WTForms, I pass in value to the \'default\' parameter like so.
class TestForm(Form):
test_fi
I believe this problem is caused by the Field's data attribute overriding the default with something that WTForms doesn't understand (e.g. a DB model object -- it expects an int). This would happen if you have populated your form in the constructor like so:
form = PostForm(obj=post)
the solution is to manually set the data attribute after the form has been populated:
form = PostForm(obj=post)
form.category.data = (post.category.id
if page.category
else 0) # I make 0 my default