Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

330
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda