Olá Jeferson,
> Fiz o que me aconselhou e agora o campo aceita que eu insira uma
> vírgula, salvando normalmente o valor com PONTO no banco. Gostaria de
> saber o que fazer para que seja salvo com vírgula, não com ponto.
Nesse caso somente utilizando campos do tipo models.CharField, porém
eu acho mais aconselhável utilizar campos do tipo models.DecimalField
porque na realidade você lidando com valores decimais. Ainda lhe resta
a opção de alterar o locale do seu banco de dados, mas isso eu acho
menos aconselhável ainda. :)
> Caso não seja possível, como faço para substituir esse ponto no campo
> salvo?
Quando você quiser resgatar esse valor, você pode substituir o ponto
da seguinte forma:
str(seu_objeto.seu_campo_decimal).replace('.', ',')
> O campo valor no models.Model está como DecimalField(). Como estou
> usando o admin, fiz um forms.ModelForm para alterar meus campos,
> fazendo overridden em alguns, tipo CPF e alterando o formato de outro,
> como campos de data (apesar desse ainda me apresentar o formato
> americano mas validar apenas no formato d/m/y - estranho, mas ainda
> estou vendo como resolver). O campo valor no forms.ModelForm foi
> atribuído como regex, como sugeriu. Ainda no meu forms.ModelForm fiz
> uma função que converte o valor do campo regex para decimal,
> retornando 'valor'.
>
> Essa forma de trabalhar com o campo está certa? Coloco no models.Model
> o campo no tipo DecimalField mesmo?
Se isso está certo ou não, realmente não sei... Acredito que o mais
correto fosse criar um custom field para lidar com valores monetários
do nosso país. Quando tive que trabalhar com valores desse tipo,
acabei resolvendo com RegexField, na época procurei alguma solução
mais correta/padronizada/etc. mas não encontrei nada.
--
Atenciosamente,
Arthur Furlan
arthur...@gmail.com
>