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/