Django. Как сохранить данные formset в БД

Коллеги! Нужна ваша помощь. Есть шаблон в котором создается пользовательский набор форм с помощью JS. И когда я пытаюсь сохранить в БД данные которые указал в шаблоне, то по факту у меня с шаблона передает не все данные и делает не полную запись в БД. Причем вьюшка у меня работает с обычной формой и набором форм, данные из набора форм не пишет в БД, по сути даже и не передает их во вьюшку, а данные обычной формы пишутся корректно. Прошу помочь, может кто сталкивался.

model.py

class Section(models.Model):
id = models.AutoField(unique=True, primary_key=True)
house = models.ForeignKey(House, on_delete=models.CASCADE)
name = models.CharField('Название', max_length=64)

forms.py

class SectionForm(forms.ModelForm):
class Meta:
    model = Section
    fields = ['name']
    widgets = {
        'name': forms.TextInput(attrs={
            'class': 'form-control',
            'value': 'Секция '
        }),
    }

views.py

def create_house(request):
form = HouseForm()
SectionFormSet = formset_factory(SectionForm, extra=0)

if request.method == 'POST':
    form = HouseForm(request.POST, request.FILES)
    form_section = SectionFormSet(request.POST)
    if form.is_valid():
        form.save()
        if form_section.is_valid():
            print(form_section)
            for subform in form_section:
                subform_save = subform.save(commit=False)
                subform_save.house = form.save(commit=False)
                subform_save.save()
        else:
            print(form_section.errors)
        return redirect('house')
    else:
        print(form.errors)

data = {
    'form': form,
    'SectionFormSet': SectionFormSet(),
}
return render(request, "adminpanel/house/create.html", data)

template

<div class="tab-content">
  <div class="tab-panel clearfix" id="tab-sections">
      {{ SectionFormSet.management_form }}
      <div id="form_set_section" class="row">
          {% for formset in SectionFormSet %}
           <div class="col-md-12 margin-bottom-20">
               <label>Название</label>
               <div class="input-group">
                   {{ formset.name }}
                   <span class="input-group-btn">
                       <a href="" class="btn btn-danger">
                           <i class="fa fa-trash"></i>
                       </a>
                   </span>
               </div>
           </div>
           {% endfor %}

          <div id="empty_form_section" style="display:none">
              <div class="col-md-12 margin-bottom-20">
                  <label>Название</label>
                  <div class="input-group">
                      {{ SectionFormSet.empty_form.name }}
                      <span class="input-group-btn">
                          <button type="button" class="btn btn-danger">
                              <i class="fa fa-trash"></i>
                          </button>
                      </span>
                 </div>
             </div>
         </div>
     </div>

    <input id="add_section"  type="button" value="Добавить">
</div>

js

$('#add_section').click(function() {
    var form_idx = $('#id_form-TOTAL_FORMS').val();
    $('#form_set_section').append($('#empty_form_section').html().replace(/prefix/g, form_idx));
    $('#id_form-TOTAL_FORMS').val(parseInt(form_idx) + 1);
});
Вернуться на верх