Commit c8102977 authored by Serge S. Koval's avatar Serge S. Koval

Fixed #326. Added 'form_optional_types'

parent 7ac96fd9
......@@ -196,7 +196,9 @@ class AdminModelConverter(ModelConverterBase):
model,
column))
if not column.nullable and not isinstance(column.type, Boolean):
optional_types = getattr(self.view, 'form_optional_types', (Boolean,))
if not column.nullable and not isinstance(column.type, optional_types):
kwargs['validators'].append(validators.InputRequired())
# Apply label and description if it isn't inline form field
......
......@@ -3,7 +3,7 @@ import logging
from sqlalchemy.orm.attributes import InstrumentedAttribute
from sqlalchemy.orm import joinedload
from sqlalchemy.sql.expression import desc
from sqlalchemy import or_, Column, func
from sqlalchemy import Column, Boolean, func, or_
from flask import flash
......@@ -230,6 +230,16 @@ class ModelView(BaseModelView):
]
"""
form_optional_types = (Boolean,)
"""
List of field types that should be optional if column is not nullable.
Example::
class MyModelView(BaseModelView):
form_optional_types = (Boolean, Unicode)
"""
def __init__(self, model, session,
name=None, category=None, endpoint=None, url=None):
"""
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment