1

2 つのフォーム クラスがあり、それぞれが同じモデルの ModelForm です。1 つが呼び出され ProjectForm、もう1 つが呼び出されAdminProjectFormます。ProjectFormいくつかのフィールドが除外されていますが、そうでAdminProjectFormはありません。

私の見解では、2 つのクラスを使用していEditますAdminEditEditの Django 汎用編集ビューを使用し、UpdateViewform_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
4

0 に答える 0