В каждом из методов CreateView/UpdateView свой набор полей

Есть модель со множеством полей, некоторые из которых не должны выводится в обоих методах. Есть ModelForm со списком общих полей для обоих методов (тут прописаны виджеты). Если в CreateView и UpdateView указываю form_class=EProposalManagerForm, то выводится весь набор полей из EProposalManagerForm, (в том числе прописав наборы полей в CreateView и UpdateView). Но в CreateView я хочу выводить один набор полей, в UpdateView другой. Удалив описание набора полей из EProposalManagerForm - выдает ошибку. Вопрос: неужели мне нужно дублировать ModelForm для каждого метода отдельно или есть какой либо другой "правильный" подход? Или можно виджеты указывать во вьюхах и не указывать ModelForm?

class EProposalManagerForm(ModelForm):
    Client_choices = forms.ModelChoiceField(required=False, label=u'Контрагент', queryset=Client.objects.all(), widget=forms.Select(attrs={'class': 'chosen-select',                                                                     'placeholder': 'Поиск контрагента', 'style': 'height:38px', 'tabindex': '2'}))          
    DateTime_schedule = forms.DateField(required=False, label='Запланировано на',
                                        initial=datetime.date.today(),
                                        widget=forms.DateInput(format='%Y-%m-%d', attrs={'type': 'date'}),
                                        input_formats=('%Y-%m-%d',))
    ...
    class Meta:
        model = eproposals
        exclude = ['TypeRequest', 'TypeDocument', 'model_transmitter', 'num_transmitter', 'Client_choices',
                   'ServiceCompany', 'latitude', 'longitude',
                   'DateTime_add', 'DateTime_update', 'Create_user', 'Update_user']
Вернуться на верх