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

116
Vistas
django muchos-a-muchos muestra legible por humanos en forma

tengo estos modelos:

 CURSES=(('python','Python'),('django','Django'),...) class Asig(models.Model): ... name = models.CharField(max_length=100, choices=CURSES) class Profesor(AbstractUser): ... asigs = models.ManyToManyField(Asig)

Luego, cuando renderizo el formulario usando ModelForm, el campo de muchos a muchos se muestra con la cadena 'python' en lugar de 'Python', también, cuando miro el html codificado, las opciones de selección múltiple se ven así:

 <option value='1'>python</option>

en vez de

 <option value='python'>Python</option>
about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Si desea usar el valor 'Python' en el método __str__ del modelo, entonces debe usar self.get_name_display() en lugar de self.name :

 class Asig(models.Model): ... name = models.CharField(max_length=100, choices=CURSES) def __str__(self): # use @python_2_unicode_compatible or define __unicode__ if using Python 2 return self.get_name_display()

No puede cambiar fácilmente el campo de muchos a muchos para usar value='python' en lugar de value='1' (la clave principal). Así es como funcionan los campos de muchos a muchos.

about 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