Я не могу многое сказать из вашего описания, но я предполагаю, что (1) вы не опубликовали свою форму или (2) вы не проверили, является ли форма действительной или нет, где, если она не сохранение не будет работать.
Пример кода из официальной документации :
def manage_authors(request):
AuthorFormSet = modelformset_factory(Author, fields=('name', 'title'))
if request.method == 'POST':
formset = AuthorFormSet(request.POST, request.FILES)
if formset.is_valid():
formset.save()
# do something.
else:
formset = AuthorFormSet()
return render(request, 'manage_authors.html', {'formset': formset})
Однако я призываю вас перейти на основанные на классах представления , потому что это намного более гибко и просто, чем основанные на функциях представления, поскольку Django уже имеет предварительно написанный код для его поддержки. Не забудьте добавить .as_view()
, если вы включаете такие классы в файл urls.py
.