Django: Convertendo campo para Maiusculo e Minusculo (Uppercase e Lowercase)

oraculum

Tagged: , ,

django

Para converter strings para maiusculo ou minusculo eu faço de duas maneira uma é usando o css para o design e outra e convertendo novamente antes de inserir no banco para isso basta sobreescrever a função save do model, veja abaixo:

no css:

1
2
3
4
5
/* css para colocar input estado em maiusculas e minusculo */
#id_estado {
    text-transform:uppercase;
    text-transform:lowercase;
}

model do objeto no django: models.py

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# para mostrar o campo em maiusculo
class Pessoa(models.Model):
    nome = models.CharField(max_length=60)
    fantasia = models.CharField(max_length=60, blank=True, null=True)
    email = models.EmailField("Endereço de E-Mail", unique=True)
 
    class Meta:
        abstract = True
    def clean_name(self):
        return self.cleaned_data["nome"].upper()
 
 
# para salvar o campo em maiusculo no banco de dados
class Pessoa(models.Model):
    nome = models.CharField(max_length=60)
    fantasia = models.CharField(max_length=60, blank=True, null=True)
    email = models.EmailField("Endereço de E-Mail", unique=True)
 
    class Meta:
        abstract = True
 
    def save(self, force_insert=False, force_update=False):
        self.estado = self.estado.upper()
        super(Pessoa, self).save(force_insert, force_update)

Para fazer a conversão em minusculo apenas substitue upper() por lower()

Baixe o snippets > http://djangosnippets.org/snippets/2416/

Share Button

Leave a Reply