微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Django中的多部分表单

如何解决Django中的多部分表单

我有这个模特

class VehicleOption(models.Model):
    vehicle = models.ForeignKey(Vehicle,on_delete=models.CASCADE)
    option_name = models.CharField(max_length=60)

我想创建一个表单,在其中可以用一个表单在数据库添加0个或多个该模型的实例,但是我似乎无法使其正常工作。 我这样尝试过:

class ExtraOptionForm(forms.ModelForm):
    option = forms.CharField(max_length=60)

    class Meta:
        model = VehicleOption
        fields = ('option',)


def vehicle_extra_option(request,vehicle_id):
 ExtraOptionFormSet = modelformset_factory(VehicleOption,form=ExtraOptionForm,min_num=0,max_num=10,validate_max=True,extra=10)

    if request.method == 'POST':
        formset = ExtraOptionFormSet(request.POST,queryset=VehicleOption.objects.none())

        if formset.is_valid():
            for form in formset.cleaned_data:
                if form:
                    option = form['option']
                    option = VehicleOption(vehicle=vehicle_id,option_name=option)
                    option.save()
            # use django messages framework
            messages.success(request,"Rregjistrim me sukses!")
            return HttpResponseRedirect("/")
        else:
            messages.error(request,"Error!")

    else:
        formset = ExtraOptionFormSet(queryset=VehicleOption.objects.none())

但是我可以 ['ManagementForm data is missing or has been tampered with']错误。 预先感谢!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。