[Python] Qual é a melhor opção para criar coluna com opções? [fechada]

Discussão em 'Python' iniciado por Stack, Setembro 9, 2025.

  1. Stack

    Stack Membro Participativo

    Tenho uma tabela DadosPessoais que possui uma coluna chamada status_civil, que deve aceitar apenas os seguintes valores: "Solteiro", "Divorciado", "Viúvo" e "Casado".

    Estou em dúvida entre duas formas de implementar isso em um projeto Django:

    1. Criar uma model separada chamada StatusCivil, preencher manualmente com esses quatro valores, e usar uma ForeignKey para StatusCivil na model DadosPessoais.
    2. Usar diretamente um CharField com a opção choices na própria model DadosPessoais, usando uma tupla com esses quatro valores fixos.

    Quais são as implicações técnicas e práticas de cada abordagem nos seguintes aspectos:

    • Validação e integridade dos dados
    • Criação e manutenção de formulários (no Django Admin ou em views personalizadas)
    • Facilidade de manutenção e escalabilidade da aplicação

    Existe alguma recomendação do próprio Django sobre quando é mais adequado usar choices e quando é melhor usar uma tabela relacionada com ForeignKey?

    Continue reading...

Compartilhe esta Página