'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'

def create_form(self, label_columns=None, inc_columns=None, description_columns=None, validators_columns=None, extra_fields=None, filter_rel_fields=None):

    label_columns = (label_columns or {})
    inc_columns = (inc_columns or [])
    description_columns = (description_columns or {})
    validators_columns = (validators_columns or {})
    extra_fields = (extra_fields or {})
    form_props = {}
    for col_name in inc_columns:
        if (col_name in extra_fields):
            form_props[col_name] = extra_fields.get(col_name)
        else:
            self._convert_col(col_name, self._get_label(col_name, label_columns), self._get_description(col_name, description_columns), self._get_validators(col_name, validators_columns), filter_rel_fields, form_props)
    return type('DynamicForm', (DynamicForm,), form_props)
