typedchoicefield not modelchoicefield form example combofield booleanfield django django-forms

not - modelchoicefield django example



Django, ModelChoiceField() y valor inicial (5)

Estoy usando algo como esto:

field1 = forms.ModelChoiceField(queryset=...)

¿Cómo puedo hacer que mi formulario muestre el valor como seleccionado?


El código

form = YourForm(initial = {''field1'': instance_of_mymodel.pk })

y

form = YourForm(initial = {''field1'': instance_of_mymodel })

o campo inicial directamente siguiente:

field1 = forms.ModelChoiceField(queryset=..., initial=0)

Todo el trabajo.

Las dos primeras formas anularán la forma final.


Los tiempos que han cambiado:

El valor inicial predeterminado ahora se puede establecer definiendo el initial como otros campos de formulario excepto que lo establezca en el ID en lugar .

Ahora esto será suficiente:

form = YourForm(initial = {''field1'': instance_of_mymodel })

Aunque ambos siguen funcionando.


Si desea establecer el valor inicial predeterminado, debe definir el initial como otros campos de formulario, excepto que lo establezca en el ID .

Digamos que tienes field1 así:

class YourForm(forms.Form): field1 = forms.ModelChoiceField(queryset = MyModel.objects.all() )

entonces necesitas establecer inicial cuando creas tu formulario de esta manera:

form = YourForm(initial = {''field1'': instance_of_mymodel.pk })

más bien que:

form = YourForm(initial = {''field1'': instance_of_mymodel })

También asumo que ha definido __unicode__ para sus modelos, así que esto se muestra correctamente.


Solo puedes usar

field1 = forms.ModelChoiceField(queryset=..., initial=0)

para hacer el primer valor seleccionado, etc. Es la forma más genérica, luego la otra respuesta.


También podrías hacer esto:

form = YourForm(initial = {''field1'': pk })

Si está analizando su clave principal a través de una cadena de consulta o mediante una llamada ajax sin necesidad de una instancia, el conjunto de consultas ya ha manejado que para su menú desplegable, pk indexa el estado que desea