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?
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!