簡體   English   中英

使用modelformset_factory時,如何在Django中區分表單集?

[英]How to differ formsets in django when using modelformset_factory?

假設我有一個Contact對象,並且我想在django(1.8)中有兩組Contact Formset,並在html模板中除以fieldset標簽。 我使用modelformset_factory。 無論我使用一個或兩個不同的工廠函數,這兩個表單集中的字段在html中都具有相同的id。 由於http.Request.body是字典,因此我丟失了有關兩個表單集之一的信息。

contacts_formset = modelformset_factory(
  models.Contact,
  form=forms.ContactDetailForm,
  extra=2)

contacts_escalation_formset_new = contacts_formset(
    queryset=models.Contact.objects.none())

contacts_other_formset_new = contacts_formset(
    queryset=models.Contact.objects.none())

在HTML中:

input id="id_form-0-name" maxlength="155" name="form-0-name" type="text"
input id="id_form-0-name" maxlength="155" name="form-0-name" type="text"

對於簡單的django形式,有關鍵字“ prefix = ...”。 但是此工廠函數沒有此參數。 我該如何解決?

modelformset_factory類返回一個formset類。 該FormSet類具有一個可選的prefix參數,類似於Form類。

contacts_escalation_formset_new = contacts_formset(
    prefix='escalation',
    queryset=models.Contact.objects.none(),
)

contacts_other_formset_new = contacts_formset(
    prefix='other'
    queryset=models.Contact.objects.none(),
)

有關另一個示例,請參閱有關在視圖中使用多個表單集的文檔。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM