2 つのフォーム クラスがあり、それぞれが同じモデルの ModelForm です。1 つが呼び出され ProjectForm
、もう1 つが呼び出されAdminProjectForm
ます。ProjectForm
いくつかのフィールドが除外されていますが、そうでAdminProjectForm
はありません。
私の見解では、2 つのクラスを使用していEdit
ますAdminEdit
。Edit
の Django 汎用編集ビューを使用し、UpdateView
に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