Estoy usando ModelForms para hacer formularios para un sitio web, pero quiero más control de qué texto se muestra en el cuadro Seleccionar.Etiquetas para el campo de formulario de selección de Django
Un ejemplo de modelo podría tener este aspecto
class Test(models.Model)
ID = IntegerField()
Label = CharacterField()
recipient = ForeignKey(Person)
product = ForeignKey(Product)
lo tanto, mi problema es que cuando hago una ModelForm de este modelo, los campos de clave externa se convierten en campos de selección, que tiene la clave primaria de el objeto en el valor subyacente, y el texto que se muestra es el texto del método de los objetos __unicode__()
. En este caso, solo se muestra la identificación del producto (este es un número de código de serie, lo cual no tiene sentido para el usuario). Me gustaría poder crear una etiqueta personalizada como "[serial], [product name]".
Parece que no encuentro ningún puntero en la documentación oficial de Django, así que me pregunto si alguien podría ayudarme. :)
no se puede cambiar '__unicode__' método de la modelo para mostrar cuál es esperado? – Rohan
Esa sería la solución obvia, pero el método Unicode se usa mucho en todo el sitio web, donde es importante que solo muestre el número de serie. Entonces esa no es una opción, me temo que – Eldamir