1
resposta

Por que criar um novo arquivo só para o set de tuplas?

Não entendi o porque o professor criou um novo arquivo apenas para colocar um set. Alguem poderia me ajudar a entender isso por favor?

tipos_de_classe = {
    (1, 'Econômica'),
    (2, 'Executiva'),
    (3, 'Primeira Classe')
}
1 resposta

Olá Matheus, tudo bem com você?

Peço desculpas pela demora no retorno.

A criação de um novo arquivo que contém o cadastro dos tipos de classe tem como objetivo deixar o projeto mais organizado e adepto a boas práticas de programação que preza pela separação de responsabilidades em um arquivo. Além disso, caso seja necessário expandir nosso formulário e criar novas opções de escolha, todas serão inseridas neste arquivo que possui responsabilidade para tal. Então, supondo que temos que incluir um novo ChoiceField que será responsável pela escolha se o(a) passageiro(a) possui alergia ou não, então, poderíamos criar um arquivo que irá conter essas constantes, escolhas_forms.py, contendo as informações como apresentadas abaixo:


TIPOS_DE_CLASSE = {
    (1, 'Econômica'),
    (2, 'Executiva'),
    (3, 'Primeira classe')
}


ALERGIA = {
    (1, 'Não'),
    (2, 'Sim'),
}

Dessa forma, caso tivéssemos 10 variáveis com escolha, todas estariam neste arquivo. Não tem problema algum colocar essas variáveis dentro do nosso arquivo de modelo passagem.py, porém, a título de organização e manutenibilidade do código é recomendado criar um novo arquivo. Inclusive, não é necessário criar as variáveis, podemos colocar o set diretamente no atributo choices, mas a título de organização e necessidade de uso futuro, criamos as variáveis.

Em resumo, esse arquivo criado serve apenas como boa organização de código e auxílio para ajustes futuros, onde iremos encontrar o ponto onde devemos modificar alguma inconsistência de modo mais rápido e prático.

Caso queira se aprofundar em relação ao campo de escolha do formulário - Field.Choices, recomendo a leitura da documentação:

A documentação está em inglês, caso tenha dificuldade com o idioma, recomendo o uso do tradutor do navegador.

Fico à disposição em caso de dúvidas.

Abraços e bons estudos.

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!