Olá. Como eu posso fazer para mostrar as classes da viagem como: Econômica, Executiva ou Primeira Classe na página minha_consulta, quando aparecem as informações que foram preenchidas no formulário?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Olá. Como eu posso fazer para mostrar as classes da viagem como: Econômica, Executiva ou Primeira Classe na página minha_consulta, quando aparecem as informações que foram preenchidas no formulário?
class ClasseViagem(models.TextChoices):
ECONOMICA = 'Econômica', _('Econômica')
EXECUTIVA = 'Executiva', _('Executiva')
PRIMEIRA_CLASSE = 'Primeira Classe', _('Primeira Classe')Esse seria o jeito correto?
Oiii Amanda, como você está? Espero que esteja bem ^-^
Sinto muito pela imensa demora em obter um retorno.
O trecho de código que apresentou está correto, utilizamos essa classe para definirmos o tipo de campo da variável classe_viagem como campo de escolha (choice).
Mas, para apresentar as classes da viagem como: Econômica, Executiva ou Primeira Classe na página minha_consulta é necessário utilizar o método get_NOMEDOCAMPO_display. Esse método é padrão para campos do tipo choices e através dele conseguimos retornar um valor “legível por humanos” ou seja, o valor que definimos através dos parênteses(tuplas), por exemplo: _('Econômica').
E para apresentar esse valor na página de consultas, basta incluir em seu arquivo consultas.html: form.instance.get_classe_viagem_display, onde classe_viagem é o nome do campo e o instance se refere ao modelo no qual nosso formulário foi baseado, no caso, a classe Passsagem, que foi onde definimos o tipo choice para o campo classe_viagem.
Em código teremos algo assim:
<p>Classe de Voo: {{ form.instance.get_classe_viagem_display }}</p>Qualquer dúvida estou por aqui, tá bom?
Abraços e bons estudos!