Opa Clodonil, rapaz fiz umas soluções paleativas, sobre campos float e data, utilizei estes comandos :
def date_format(view, value):
return value.strftime('%d/%m/%Y')
def currency_format(view, value):
return moeda_brasileira(format(value,'.2f'))
def moeda_brasileira(numero):
try:
contador = 0
preco_str = ''
num = numero.__str__()
print num
if '.' in num:
preco, centavos = num.split('.')
else:
preco = num
centavos = '00'
tamanho = len(preco)
while tamanho > 0:
preco_str = preco_str + preco[tamanho-1]
contador += 1
if contador == 3 and tamanho > 1:
preco_str = preco_str + '.'
contador = 0
tamanho -= 1
tamanho = len(preco_str)
str_preco = ''
while tamanho > 0:
str_preco = str_preco + preco_str[tamanho-1]
tamanho -= 1
return "%s,%s" % (str_preco, centavos)
#return "R$ %s,%s" % (str_preco, centavos)
except:
return 'Erro. Nao foi possivel formatar.'
MEU_DEFAULT_FORMATTERS = dict(typefmt.BASE_FORMATTERS)
MEU_DEFAULT_FORMATTERS.update({
type(None): typefmt.null_formatter,
date: date_format, float: currency_format
})
class CustomView(ModelView):
list_template = 'list.html'
create_template = 'create.html'
edit_template = 'edit.html'
page_size = 10
create_modal = True
edit_modal = True
column_type_formatters = MEU_DEFAULT_FORMATTERS
Bem , com isso pelo menos na listagem os campos do tipo data e currency ficam em nosso formato bRASILEIRO.
Agora estou pesquisando pra fazer duas coisas já na edição dos formulários, mostrar uma mask que possa permitir o usuário visualizar o valor correto tanto na data como valores monetários.
Caso você queira unir forças , obteriamos os resultados mais rápido.