2009-06-28 4 views
5

В в Django ModelForm, вы можете изменить тип виджета поля следующим образом:Изменение типа поля в Django ModelFormset

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

    class Meta: 
     model = Entry 

Я могу легко создать modelformset из одной и той же модели, как так:

EntryFormSet = modelformset_factory(Entry) 

Но есть ли способ включить изменение типа поля ввода при создании modelformset?

ответ

13

EntryFormSet = modelformset_factory (запись, форма = EntryForm)

+0

После настроив его, как было рекомендовано выше, передав entry_formset = EntryFormSet (prefix = 'entries'), чтобы render_to_response по-прежнему отображает все поля. Я все еще играю с этим. –

+0

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

+0

Ах, спасибо. Я ожидал, что он наследует те из моей модели EntryForm, которая также исключила некоторые поля (которые я просто не рассмотрел из приведенного выше примера для простоты) –

4

modelformset_factory принимает аргумент ключевого слова form, который - я полагаю, - позволит вам пройти ваш класс формы и он используется ...