Campos numéricos localizados no Django
A criação de campos numéricos ficou muito mais fácil no Django na versão 1.2. Imagine o seguinte model:
E seu registro no admin
Ao tentar cadastrar um valor numérico, por exemplo: 1.450,60, receberíamos um erro já que esse formato não era entendido como numérico. Agora, basta informar que esse campo precisa ser localizado. Como isso é feito no formulário, e não no model, vamos sobrescrever o formulário padrão do admin
Note o parâmetro localize
no campo DecimalField
do formulário.
Estamos quase lá, só precisamos nos certificar de que as seguintes configurações estão no settings.py
Mas ainda tem um detalhe, se você tentar acessar debito.valor
vai receber uma instância da classe decimal.Decimal
do python, e ainda terá que formatar manualmente. Felizmente o django já possui uma função pra fazer isso. Para facilitar, você pode adicionar um método no seu model:
Agora sim, basta acessar debito.valor_formatado
.
Confira a documentação para mais detalhes.
Até a próxima!