
WTForms-Alchemy provides a helper class that let you create a Form class from a SQLAlchemy model. It does not try to replace all the functionality of wtforms.ext.sqlalchemy, only the model_form function of wtforms.ext.sqlalchemy by a much better solution. Other functionality of ext.sqlalchemy such as QuerySelectField and QuerySelectMultipleField can be used along with WTForms-Alchemy.
The benefits of WTForms-Alchemy ModelForm over wtforms.ext.sqlachemy’s model_form include:
* Provides explicit declaration of ModelForms (much easier to override certain columns) * Form generation supports Unique and NumberRange validators * Form inheritance support (along with form configuration inheritance) * Automatic SelectField type coercing based on underlying column type * By default uses wtforms_components SelectField for fields with choices. This field understands None values and renders nested datastructures as optgroups. * Provides better Unique validator * Supports custom user defined types as well as type decorators * Supports SQLAlchemy-Utils datatypes * Supports ModelForm model relations population * Smarter field exclusion * Smarter field conversion * Understands join table inheritance * Better configuration