2016-07-03 1 views
0

Я успешно создаю таблицу с помощью Django formsets, но в конце получается пустая строка suplus! Что я делаю не так ?Django formset - излишняя строка отображается в таблице

<table id="formset" class="form table table-condensed zeon zeon-row-hover"> 
        {{ formset.management_form }} 

        {% for form in formset.forms %} 
         {% if forloop.first %} 
         <thead><tr> 
         {% for field in form.visible_fields %} 
         <th>{{ field.label|capfirst }} 
         {% endfor %} 
         </tr></thead> 
         {% endif %} 
         <tr class="{% cycle row1,row2 %}"> 
         {% for field in form.visible_fields %} 
         <td class = 'zeon_input_table_cell'> 
         {# Include the hidden fields in the form #} 
         {% if forloop.first %} 
           {% for hidden in form.hidden_fields %} 
           {{ hidden }} 
           {% endfor %} 
         {% endif %} 
          {{ field.errors.as_ul }} 
          {{field}} 
         </td> 
         {% endfor %} 
         </tr> 
        {% endfor %}  
        </table> 

Вид:

MyModelFormSet = modelformset_factory(MyModel, exclude=('agreement_vendors',)) 
formset = MyModelFormSet(queryset = MyModel.objects.filter(...)) 
return render_to_response('vendors/edit_agreement.html', 
          {'formset':formset}, 
           context_instance=RequestContext(request)) 

enter image description here

UPDATE: Согласно ниже ответ, вопрос решается положить extra = 0

+0

Рад, что вы это решили. – Rexford

ответ

1

Согласно Django docs:

Как вы можете видеть, он отображает только одну пустую форму. Количество отображаемых пустых форм контролируется дополнительным параметром. По умолчанию formet_factory() определяет одну дополнительную форму; Следующий пример покажет две пустые формы:

Имея это в виду, Django документы предлагает делать что-то вроде этого, чтобы установить количество дополнительных форм:

ArticleFormSet = formset_factory (ArticleForm, экстра = 2)

Смежные вопросы