2014-02-21 27 views
0

我在我的Django項目中有一個圖像模型。因爲不同類型的圖像中的我已經根據每種類型創建了三個ModelForms:從相同的模型創建模型框架,但具有不同的模型形式

class Xray(ModelForm): 
    #extra_field: Choice Field with specific options for Xray 
    class Meta: 
     model = Image 

class Internal(ModelForm): 
    #extra_field: Choice Field with specific options for Internal 
    class Meta: 
     model = Image 

class External(ModelForm): 
    #extra_field: Choice Field with specific options for External 
    class Meta: 
     model = Image 

每個的ModelForm具有實現的保存邏輯。我想爲每個Image類型創建一個模型formset,但要爲每種類型的Image使用正確的ModelForm。我不會使用這個表單進行編輯,因此我總是希望它是空的,並且有5個表單(5個項目)。我似乎無法在django文檔中找到我可以使用formset的特定表單的位置。只有特定的formset(繼承自BaseModelFormSet)

是否可以爲每個model_formset使用特定的表單?

回答

1

你可以做到以下幾點:

from django.forms.models import modelformset_factory 

from someproject.someapp.models import Image 
from someproject.someapp.forms import Internal 


ImageFormSet = modelformset_factory(Image, form=Internal) 

下面是文檔的modelform_factory,不提form說法。但是,在其中的示例下面的「註釋」中,該函數委託給formset_factory,該文件記錄爲form參數。這只是一個小問題,可能是創建Django分支,更新文檔並創建請求的一個很好的理由。

+0

是的,只是從django的源代碼中讀取:)...謝謝! – Apostolos

相關問題