Commit 019dca33 authored by Serge S. Koval's avatar Serge S. Koval

Fixed #49. SQLA backend properly supports default column values now

parent ff265c65
...@@ -126,7 +126,7 @@ class AdminModelConverter(ModelConverterBase): ...@@ -126,7 +126,7 @@ class AdminModelConverter(ModelConverterBase):
model, model,
column)) column))
if not column.nullable and not isinstance(column.type, Boolean): if not column.nullable and not isinstance(column.type, Boolean):
kwargs['validators'].append(validators.Required()) kwargs['validators'].append(validators.Required())
# Apply label # Apply label
...@@ -134,15 +134,20 @@ class AdminModelConverter(ModelConverterBase): ...@@ -134,15 +134,20 @@ class AdminModelConverter(ModelConverterBase):
# Figure out default value # Figure out default value
default = getattr(column, 'default', None) default = getattr(column, 'default', None)
value = None
if default is not None: if default is not None:
callable_default = getattr(default, 'arg', None) value = getattr(default, 'arg', None)
if callable_default is not None and callable(callable_default): if value is not None:
default = callable_default(None) if getattr(default, 'is_callable', False):
value = value(None)
else:
if not getattr(default, 'is_scalar', True):
value = None
if default is not None: if value is not None:
kwargs['default'] = default kwargs['default'] = value
# Check nullable # Check nullable
if column.nullable: if column.nullable:
......
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