【发布时间】:2026-02-12 01:10:02
【问题描述】:
我有一组引用单个模型的特殊形式,我定义了一个通用的:
class myBaseFormMixin(forms.Form):
data_prod = forms.DateField(initial=datetime.date.today, label='Data')
class Meta:
model = mymodel
def clean(self):
if self.data["a"]=='off':
raise forms.ValidationError("check A")
然后以我的特殊形式添加:
class SpecialManForm(forms.ModelForm,myBaseFormMixin)
def __init__(self, *args, **kwargs):
super(SpecialManForm, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.layout = Layout(
Fieldset(
'Description',
Row(
Div('field_a', css_class='large-3 columns '),
),
),
显然一切都很好,Meta Mixin 中模型中的所有字段都可用,但是 mixin 中的 clean() 没有执行,如果我将 def clean() 附加到 SpecialManForm,为什么会这样?
我错过了什么吗?提前致谢
【问题讨论】:
标签: django forms mixins django-crispy-forms