Estoy tratando de rellenar los datos en mi formulario django en base a cierta información, pero NO utilizando ModelForm, por lo que no puedo simplemente configurar la instancia.Formulario de Django de pre-llenado (no modelo)
Parece que debería ser realmente fácil, pero por alguna razón no encuentro ninguna documentación que me diga cómo hacerlo. Esta es mi forma:
class MyForm(forms.Form):
charfield1 = forms.CharField(max_length=3)
charfield2 = forms.CharField(max_length=3)
choicefield = forms.ModelChoiceField(MyModel.objects.all())
He intentado sólo hacer:
form = MyForm()
form.charfield1 = "foo"
form.charfield2 = "bar"
# a model choice field
form.choicefield = MyModel.objects.get(id=3)
que no funciona.
gracias - esto funciona. Sin embargo, no funciona con la clave externa de un modelo. Intenté pasar la instancia del modelo en el diccionario, lo que arroja una excepción, e intenté pasar el pk/id, que no falla, pero no lo precarga correctamente en la interfaz de usuario de mi formulario. – Cory
El uso de la identificación del objeto debería funcionar. Acabo de probarlo con un ModelChoiceField. ¿Podría mostrarnos su definición de formulario? –
agregó la definición del formulario en la edición. – Cory