我有两个表单类,每个都是同一个模型的 ModelForm。一个被称为 ProjectForm,另一个被称为AdminProjectForm。ProjectForm排除了许多字段,AdminProjectForm没有。
在我看来,我正在使用两个类,Edit并且AdminEdit. Edit使用 Django 通用编辑视图UpdateView并form_class设置为ProjectForm. AdminEdit是一个继承Edit并form_class设置为AdminProjectEdit。
有人会认为这意味着由 生成的表单AdminEdit将显示排除在Edit. 这部分工作正常 - 表单字段绘制得非常好(并且没有在Edit.AdminEditProjectForm
这是我的forms.py:
class ProjectForm(ModelForm):
class Meta:
model = Project
exclude = ('field1', 'field2', 'field3', 'qualifies_for_judging', 'reason_for_disqualification', 'finalist', 'hashtag')
class AdminProjectForm(ModelForm):
class Meta:
model = Project
exclude = ()
还有我的views.py:
class Edit(UpdateView):
model = Project
form_class = ProjectForm
class AdminEdit(Edit):
model = Project
form_class = AdminProjectForm