2009-06-28 16 views
5

En una Django ModelForm, se puede cambiar el tipo de widget de un campo de este modo:Cambio de tipo de campo en una Django ModelFormset

class EntryForm(ModelForm): 
    entity = forms.CharField() 

    class Meta: 
     model = Entry 

que puede crear fácilmente una modelformset del mismo modelo, así:

EntryFormSet = modelformset_factory(Entry) 

¿Pero hay una forma de incluir el tipo de campo de entrada cambiar el cambio al crear un conjunto de modelos?

Respuesta

13

EntryFormSet = modelformset_factory (Entrada, forma = EntryForm)

+0

Después configurándolo como se recomienda arriba, pasando entry_formset = EntryFormSet (prefix = 'entries') a render_to_response aún muestra todos los campos. Todavía estoy jugando con esto. –

+0

http://docs.djangoproject.com/en/dev/topics/forms/modelforms/#controlling-which-fields-are-used-with-fields-and-exclude – Harold

+0

Ah, gracias. Esperaba que heredara los de mi modelo de Formulario de entrada, que también excluía algunos campos (lo cual dejé en el ejemplo anterior por simplicidad) –

4

modelformset_factory toma un argumento de palabra clave form, que - creo - le permitirá pasar su clase de forma y deja que la usen ...

Cuestiones relacionadas