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