Si el campo de un modelo es una opción o una clave externa, el widget en la página es una entrada de selección o radios si usted lo especifica. Django coloca "---------" en el primer elemento como un valor no seleccionado. ¿Cómo puedo anularlo o incluso eliminarlo? Recuerdo leer la manera de hacerlo pero no puedo encontrarlo más.Cómo eliminar el elemento no seleccionado en una entrada de selección y de radio en Django
Respuesta
Ver: http://docs.djangoproject.com/en/dev/topics/forms/modelforms/
Si el campo modelo ha establecido opciones, a continuación, el widget del campo de formulario habrá SET para seleccionar, con opciones venir de las opciones del campo de modelo. Las opciones normalmente incluirán la opción en blanco que se selecciona por defecto en . Si el campo es obligatorio, esto obliga al usuario a hacer una selección . La opción en blanco no se incluirá si el campo del modelo tiene en blanco = Falso y un valor explícitamente predeterminado (el valor predeterminado será inicialmente seleccionado en su lugar).
Si es un ModelForm, apenas se fija default=None
en su modelo, así:
choose = models.CharField(max_length=3, choices=choose_dict, default=None)
Desde el Django forms doc:
Por defecto el widget
<select>
utilizado porModelChoiceField
tendrá un una elección vacía en la parte superior de la lista. Usted puede cambiar el texto de esta etiqueta (que es "---------" por defecto) con el atributoempty_label
, o puede desactivar la etiqueta vacía por completo mediante el establecimiento deempty_label=None
:
field2 = forms.ModelChoiceField(queryset=..., empty_label=None)
Si necesita hacer esto en un ModelForm
, yo tenía una respuesta here.
Arrgghhh, la solución en el enlace parece demasiado complicada. Supongo que en este caso, mejor recurrir a la forma ordinaria. –
- 1. Eliminar elemento seleccionado de JList
- 2. ¿Cómo eliminar el último elemento de una selección jQuery?
- 3. valor inicial en el botón de radio formulario django
- 4. ¿Cómo resaltar el elemento seleccionado en ListView?
- 5. Eliminar solo el primer elemento de una selección de jquery
- 6. Obtener el último valor seleccionado del elemento de selección múltiple
- 7. ¿Cómo puedo eliminar el borde de selección en un ListViewItem
- 8. En un cuadro combinado, ¿cómo determino el elemento resaltado (elemento no seleccionado)?
- 9. Eliminar el contorno del cuadro de selección en FF
- 10. ser seleccionado el botón de radio no en una lista en ASP .NET
- 11. Botones de radio en django Formularios
- 12. jQuery estableciendo el atributo seleccionado en una lista de selección
- 13. Establecer el índice seleccionado de un Grupo de Radio Android
- 14. ¿Ocultar opciones en el elemento seleccionado, no funciona en IE?
- 15. ¿Cómo obtener el texto de un elemento seleccionado en un control de selección?
- 16. CakePHP selección múltiple "seleccionado" no está funcionando
- 17. ¿Cómo resaltar el elemento seleccionado en ItemsControl?
- 18. ASP.Net Html.DropDownList Elemento seleccionado no seleccionado
- 19. ¿Cómo eliminar el elemento HTML seleccionado de forma interactiva en las herramientas de desarrollador de IE?
- 20. Cómo eliminar un elemento seleccionado de ListView usando CursorAdapter
- 21. Django: Muestra los valores del campo de selección múltiple seleccionado en una plantilla
- 22. Elemento de radio Zend_Form
- 23. elemento de selección múltiple - onchange
- 24. ASP.NET TreeView y selección del nodo seleccionado
- 25. Cómo establecer el recuadro de selección del valor seleccionado
- 26. ¿Cómo obtener el elemento seleccionado de ListView?
- 27. django elemento de entrada error css clase
- 28. Obteniendo el elemento seleccionado actualmente en QTreeView
- 29. jQuery agregar/eliminar clase css en la radio seleccionada
- 30. Convertir una entrada de texto a un elemento de selección con JavaScript
esto no funciona – Tony
-1: 'default' se usa en el nivel de la base de datos, no en el nivel del formulario. Esto solo significa que si el valor no se establece al crear el objeto modelo, el valor se establecerá en 'Ninguno'. Aviso peligroso – Patrick
@Patrick no es cierto (al menos desde Django 1.4). Ver http://stackoverflow.com/a/11721969/898423 –