Promoção no ar
Tempo restante da oferta:
21 Horas
23 Min
54 Seg
Assinar →

Utilizando Choices no Django ORM

Veja neste artigo como utilizar os choices no Django ORM.

Fagner Pinheiro 7 anos atrás

Na construção de um formulário, há casos em que precisamos de um campo para armazenar determinadas opções para um atributo. Um exemplo claro deste caso é o armazenamento do sexo de um usuário, que só deve permitir uma determinada lista de opções (masculino, feminino, outro). Para estes casos, o Django ORM permite que criemos uma lista com as possíveis opções que deverão ser selecionadas, evitando que o usuário possa digitar qualquer valor naquele campo. Sendo assim, neste artigo veremos como trabalhar com choices no Django ORM.

Criando choices no models.py

Para criar uma lista de possíveis opções no Django ORM, precisamos definir quais serão estas opções e a qual chave ela pertence. Por exemplo, se quisermos criar uma lista de opções para o campo sexo, determinamos o seguinte conteúdo no arquivo models.py do nosso projeto:

class Cliente(models.Model):
    SEXO_CHOICES = (
        ("F", "Feminino"),
        ("M", "Masculino"),
        ("N", "Nenhuma das opções")
    )

    nome = models.CharField(max_length=100, null=False, blank=False)
    sexo = models.CharField(max_length=1, choices=SEXO_CHOICES, blank=False, null=False)
    data_nascimento = models.DateField(null=False, blank=False)
    email = models.EmailField(null=False, blank=False)


    def __str__(self):
        return self.nome

Curso Django - Desenvolvimento de APIs REST Conhecer o curso

Note que precisamos criar a variável SEXO_CHOICES e determinar quais as opções que um sexo poderá exercer. Depois disso, criamos o campo sexo em nosso model e determinamos que as opções disponíveis para este campo estão definidas na variável SEXO_CHOICES. Com isso, sempre que o formulário para cadastro (ou edição) de um cliente for submetido, o Django irá verificar se uma das opções foi selecionada. Caso positivo, libera a requisição, caso negativo, alerta ao usuário que apenas estas opções são permitidas a serem selecionadas.

Um outro ponto positivo para o uso do choices é que só precisamos armazenar a chave que irá identificar cada sexo, assim, economizamos um certo espaço no banco de dados, já que só será necessário armazenar um caractere (F, M ou N), não o nome do sexo (Feminino, Masculino ou Nenhuma das opções).

Continue lendo

Artigos relacionados

Um ano de acesso total para você viver de programação.

Todos os cursos e formações da TreinaWeb numa única assinatura, com professores que atuam no mercado, suporte direto e certificados. Do primeiro console.log ao mercado de trabalho.

  • 1 ano de acesso a todos os cursos
  • Cursos novos toda semana
  • Suporte direto com professores
  • Plano de carreira personalizado
  • Certificados digitais inclusos
  • Aplicativos para Android e iOS, com acesso offline
Garantia incondicional de satisfação

Teste por 7 dias e, se não fizer sentido para você, devolvemos seu dinheiro.

Acesso completo a todos os cursos e dezenas de Formações.

12 meses
Economize R$ 840,00 54% OFF

de 12x R$ 129,00 por apenas

12x R$ 59,00

sem juros no cartão de crédito ou R$ 599,00 à vista

Oferta termina em 21h 23min 54s

  • Acesso imediato e ilimitado durante 1 ano.
  • Plano de carreira personalizado.
  • Suporte direto com professores.
  • E muito mais!
Matricule-se agora