我有两个表单类,每个表都是同一模型的ModelForm。一个称为ProjectForm
,另一个称为AdminProjectForm
。 ProjectForm
排除了多个字段,AdminProjectForm
没有。
在我的观看中,我使用了两个类Edit
和AdminEdit
。 Edit
使用UpdateView
的Django通用编辑视图,并将form_class
设置为ProjectForm
。 AdminEdit
是继承Edit
,form_class
设置为AdminProjectEdit
。
有人会认为这意味着AdminEdit
生成的表单会显示Edit
上排除的字段。此部分工作正常 - 表单字段绘制得非常精细(而不是在Edit
上绘制。但是,在提交AdminEdit
表单时,ProjectForm
中排除的任何字段都会被删除而不会保存有什么建议吗?
这是我的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