def create_form(self, label_columns=None, inc_columns=None,<EOL>description_columns=None, validators_columns=None,<EOL>extra_fields=None, filter_rel_fields=None):
label_columns = label_columns or {}<EOL>inc_columns = inc_columns or []<EOL>description_columns = description_columns or {}<EOL>validators_columns = validators_columns or {}<EOL>extra_fields = extra_fields or {}<EOL>form_props = {}<EOL>for col_name in inc_columns:<EOL><INDENT>if col_name in extra_fields:<EOL><INDENT>form_props[col_name] = extra_fields.get(col_name)<EOL><DEDENT>else:<EOL><INDENT>self._convert_col(col_name, self._get_label(col_name, label_columns),<EOL>self._get_description(col_name, description_columns),<EOL>self._get_validators(col_name, validators_columns),<EOL>filter_rel_fields, form_props)<EOL><DEDENT><DEDENT>return type('<STR_LIT>', (DynamicForm,), form_props)<EOL>
Converts a model to a form given

:param label_columns:
    A dictionary with the column's labels.
:param inc_columns:
    A list with the columns to include
:param description_columns:
    A dictionary with a description for cols.
:param validators_columns:
    A dictionary with WTForms validators ex::

        validators={'personal_email':EmailValidator}

:param extra_fields:
    A dictionary containing column names and a WTForm
    Form fields to be added to the form, these fields do not
     exist on the model itself ex::

        extra_fields={'some_col':BooleanField('Some Col', default=False)}

:param filter_rel_fields:
    A filter to be applied on relationships