Неверный набор форм Django

У меня есть django formset, когда я ввожу только один ряд данных, он работает. Если я пытаюсь ввести две или более строк данных, при отправке формы я получаю ошибку:

ManagementForm data is missing or has been tampered with. Missing fields: form-TOTAL_FORMS, form-INITIAL_FORMS.

Читая похожие вопросы, кажется, что отсутствует management_form, но в моем коде она присутствует... есть идеи? Вот мой код:

models.py и forms.py

#models.py

from django.db import models

class Station(models.Model):
    id_station = models.IntegerField(blank=False)
    station_name = models.CharField(max_length=30, blank=False)
    unity_name = models.CharField(blank=False, max_length=10)
    id_sensor = models.IntegerField(blank=False)
    sensor_name = models.CharField(max_length=50, blank=False)

    class Meta:
        db_table = 'station'

    def __str__(self):
        return self.name

# forms.py

from django import forms
from .models import Station
from django.forms import formset_factory

class StationForm(forms.Form):
    id_station = forms.IntegerField(label='id della stazione') #, widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'Enter Book Name here'}))
    station_name = forms.CharField(label='nome stazione', max_length=30,
                                   widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'nome stazione'}))
    unity_name = forms.CharField(label='nome unita', max_length=10,
                                   widget=forms.TextInput(attrs={'class': 'form-control', 'placeholder': 'nome unita'}))
    id_sensor = forms.IntegerField(label='id sensore')
    sensor_name = forms.CharField(label='nome sensore', max_length=50,
                                  widget=forms.TextInput(attrs={'placeholder': 'nome sensore'}))

StationFormset = formset_factory(StationForm, extra=1)

views.py

from django.template import RequestContext

from django.shortcuts import render, redirect

from .forms import StationFormset
from .models import Station

def new_station(request):
    context = RequestContext(request)
    template_name = 'station.html'
    heading_message = 'Add a new station'
    if request.method == 'GET':
        formset = StationFormset(request.GET or None)
    elif request.method == 'POST':
        formset = StationFormset(request.POST or None)
        print('formset: ', formset.non_form_errors())

        if formset.is_valid():
            for form in formset:
                id_station = form.cleaned_data.get("id_station")
                station_name = form.cleaned_data.get("station_name")
                unity_name = form.cleaned_data.get("unity_name")
                id_sensor = form.cleaned_data.get("id_sensor")
                print('id sensor: ', id_sensor)
                sensor_name = form.cleaned_data.get("sensor_name")
            # save instance
                #form.save()
            return redirect('new_station')
    return render(request, template_name, {
        'formset': formset,
        'heading': heading_message,
    })

station.html

Читая похожие вопросы, кажется, что в html шаблоне отсутствует форма управления_формой, но в моем коде она присутствует... есть идеи?

Вернуться на верх