[英]Django - combining multiple models into the same form class
有沒有辦法在 form.py 文件中以相同的形式 class 組合多個模型。
現在我有三個模型,必須在 form.py 文件中為每個表單 class 使用 forms.Modelform 創建三個單獨的表單類。
我在 Meta 標簽中為每個表單 class 定義了 model,
就像是:
class Form1(forms.ModelForm):
# FORM META PARAMETERS
class Meta:
model = Model 1
class Form2(forms.ModelForm):
# FORM META PARAMETERS
class Meta:
model = Model 2
class Form3(forms.ModelForm):
# FORM META PARAMETERS
class Meta:
model = Model 3
然后我必須在 HTML 模板中組合所有三個 forms(從每個模型中選擇的字段),因此只有一個提交按鈕。
然后我必須確保我將 3 forms 中的每一個都保存在 view.py 文件中,以便通過點擊一個提交按鈕來保存東西
問題
有沒有辦法將模型組合成一種形式 class 以在 form.py 文件中開始?
這將使視圖中的上游編碼和 html 模板更容易、更緊湊、更少重復! 只需處理 1 個表格 class 姓名!
此外,所有錯誤檢查都在一個地方,我將管理更少的表單類,這些表單類在其他地方有不同的名稱,在其他 *.py 或 *.html 文件中,因為來自多個模型的字段將合並為一個表單 class , 有一個名字。
今天早上我有一個同事問這個問題。 目前,我認為這是不可能的,但知識基礎比我自己更廣泛的人可能會向我們展示如何做。 我認為您可能必須繼承默認的forms.Form
model 才能執行您想執行的操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.