Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django 为什么不是';我的模型集不保存吗?_Django_Django Forms - Fatal编程技术网

Django 为什么不是';我的模型集不保存吗?

Django 为什么不是';我的模型集不保存吗?,django,django-forms,Django,Django Forms,我使用了一个ModelFormSet,我的实例得到了一个None值发布数据正在通过;表单验证;在instances=form.save(commit=False)之前,一切都很好。这可能是什么原因造成的 if request.POST: form = MembershipFormSet(request.POST) if form.is_valid(): instances = form.save(co

我使用了一个
ModelFormSet
,我的实例得到了一个
None
值<代码>发布数据正在通过;表单验证;在
instances=form.save(commit=False)
之前,一切都很好。这可能是什么原因造成的

    if request.POST:
            form = MembershipFormSet(request.POST)
            if form.is_valid():
                    instances = form.save(commit=False)
                    for instance in instances:
                            instance.user = request.user
                            instance.save()
                    return HttpResponseRedirect('next_page')
            else:   
                    return HttpResponse(form.errors + request.POST.items())
试试这个:

if request.POST:
    formset = MembershipFormSet(request.POST)
    if formset.is_valid():
        for form in formset:
            instance = form.save(commit=False)
            instance.user = request.user
            instance.save()
        return HttpResponseRedirect('next_page')
    else:   
        return HttpResponse(formset.errors + request.POST.items())
你的问题在这里:

instances = form.save(commit=False)
问题是,您需要提取各个表单对象,将其强制转换为对象实例,并为其分配
user
。在代码中,
instances=form.save(…)
没有这样做