0

我目前正在浏览基本的 django 文档,因为我正在尝试为我的一个旧项目提出一些基本的编辑视图类。为此,我必须使用表单集。我对本示例中用于生成编辑视图的调用模式感到困惑。

您必须实例化表单集以使用 request.POST 进行验证的确切原因是什么,并且对于错误,您必须使用初始实例重新创建整个事物......(否则它不会显示任何数据)

def manage_books(request, author_id):
    author = Author.objects.get(pk=author_id)
    BookInlineFormSet = inlineformset_factory(Author, Book, fields=('title',))
    if request.method == "POST":
        formset = BookInlineFormSet(request.POST, request.FILES, instance=author)
        if formset.is_valid():
            formset.save()
            # Do something. Should generally end with a redirect. For example:
            return HttpResponseRedirect(author.get_absolute_url())
    else:
        formset = BookInlineFormSet(instance=author)
    return render(request, 'manage_books.html', {'formset': formset})
4

0 回答 0