Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

328
Visualizações
Obtenga el nombre o la etiqueta de django IntegerChoices proporcionando un valor válido

Tengo django 3.2 y una clase IntegerChoices

 class Type(models.IntegerChoices): GENERAL = 2, _("general address") DELIVERY = 4, _("delivery address") BILLING = 6, _("billing address")

Puedo obtener el nombre y la etiqueta del valor fácilmente haciendo Type.GENERAL , Type.GENERAL.name y Type.GENERAL.label.

Pero, ¿cómo puedo obtener estos valores si solo tengo el valor, por ejemplo, quiero obtener el Nombre ENTREGA del valor 4?

Type[4].name ist no funciona porque los valores de la lista no corresponden a los valores int de la enumeración.

gracias matt

over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

IntegerChoices.choices le devuelve una lista de tuplas con todo el contenido. En tu caso tendrás algo como:

 [(2, 'general address'), (4, 'delivery address'), (6, 'billing address')]

Por lo tanto, se puede hacer de esta manera:

 class Type(models.IntegerChoices): GENERAL = 2, _("general address") DELIVERY = 4, _("delivery address") BILLING = 6, _("billing address") def label_by_type_value(value): choices = [c[1] for c in Type.choices if c[0] == value] return choices[0] if len(choices) else None
over 4 years ago · Santiago Trujillo Relatório

0

También puede hacer algo como esto si puede estar seguro de que es un valor válido:

 print(Type(2).name) print(Type(2).label)
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda