2011-05-03 17 views
7

No puedo establecer el valor predeterminado de un menú desplegable al cargar formularios.Establecer el valor predeterminado para el menú desplegable en los formularios django

Este es el código

state = forms.TypedChoiceField(choices = formfields.State) 

State = (
     ('QC_APPROVED','QC_APPROVED'), 
     ('REVERT','REVERT'), 
     ('FIXED','FIXED'), 
     ) 

Si quiero hacer que el estado predeterminado como fijo. Estoy escribiendo este código

state = forms.TypedChoiceField(choices = formfields.State, default = 'FIXED') 

Si ejecuto el código anterior, aparece el siguiente error.

Exception Value: __init__() got an unexpected keyword argument 'default' 

Puede alguien ayuda en esto?

Respuesta

16
state = forms.TypedChoiceField(choices=formfields.State, initial='FIXED') 

Como se muestra en la documentación: http://docs.djangoproject.com/en/dev/ref/forms/fields/#initial

+0

Cool, funcionó. Anteriormente me refiero a este enlace http://docs.djangoproject.com/en/dev/ref/models/fields/#default – vkrams

+0

@Vikram creo que no se puede establecer el valor como _default_ si no existe. Usted crea el modelo con el campo de elección, por lo tanto, las opciones se crean solo después del método .save(). Si las opciones estuvieran en otra clase que ya existe como modelo en algún lugar de db, usted podría usar el valor predeterminado con ella. ADVERTENCIA ¡Puedo estar equivocado! Bueno, la idea principal es que el valor predeterminado podría ser un modelo (o parte de él) no un valor para e.a. campo de texto. – JackLeo

-2

Prueba el número:
estatales = forms.TypedChoiceField (opciones = formfields.State, por defecto = 2)

+0

Al igual que DTing dice más arriba, debe usar la inicial en lugar de la predeterminada para los formularios. el predeterminado es para modelos. –

Cuestiones relacionadas