Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Mostrar as classes da viagem

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?

2 respostas
class ClasseViagem(models.TextChoices):
        ECONOMICA = 'Econômica', _('Econômica')
        EXECUTIVA = 'Executiva', _('Executiva')
        PRIMEIRA_CLASSE = 'Primeira Classe', _('Primeira Classe')

Esse seria o jeito correto?

solução!

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!