В каждом из методов 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']