我有一个Crispy Form和一个简单的CreateView,其中包含一些字段。
所有字段验证均能正常工作,但清晰的表格不会显示Django-Multiselectfield引发的验证错误我可以在模板中看到以下错误:{{ form.errors }}
返回:
available_guarantee
- This field is required.
deal_type
- This field is required.
status
- This field is required.
MyForm代码:
class ProjectForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super(ProjectForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_method = 'POST'
self.helper.layout = Layout(
Fieldset(
_('About the Project'),
'name',
'location',
'location_type',
'sector',
Div('status', css_class='with-checkbox'),
'revenue_generation_year',
'total_cost',
'previous_fund',
),
Fieldset(
_('Transaction'),
'fundraising_goal',
Div('deal_type', css_class='with-checkbox'),
'payback_duration',
'collateral_rate',
Div('offered_stake', css_class='with-checkbox'),
Div('available_guarantee', css_class='with-checkbox'),
),
Fieldset(
_('Financial Details'),
'adscr',
'debt_equity_ratio',
'irr',
),
Fieldset(
_('About You'),
'owner_role',
Div('have_mandate', css_class='with-checkbox'),
),
Fieldset(
'',
'description',
),
Div(
FormActions(
Submit('save', _('Save changes'), css_class='btn-primary')), css_class='form-actions'))
class Meta:
model = Project
fields = '__all__'
ProjectCreateView:
class ProjectCreateView(LoginRequiredMixin, CreateView):
model = Project
form_class = ProjectForm
def get_success_url(self):
return reverse('accounts:user-projects')
def form_valid(self, form):
form.instance.owner = self.request.user
form.instance.state = Project.DRAFT_STATE
form.instance.language = get_language()
return super(ProjectCreateView, self).form_valid(form)
版本:
我到目前为止所做的事情:
self.fields['status'].required = True
)