Django:保存动态表单域

Django: saving dynamic formfields

首先对这个问题感到抱歉,因为我是新手,英语不是我的母语(请随时询问 post 是否需要编辑)。

我按照这个 thread 来动态保存表单,但你只能用一个字段来做到这一点,现在我试图一次复制 3 个字段(成功)并保存一个字段(用只有一个字段)不是问题,多亏了上面提到的线程。

但是当我的 forms.py 中有 2 个或更多字段时,问题就开始了,它总是说

The ModelName could not be created because the data didn't validate

并指向我的 form.save()

我不知道如何解决我的问题,如果有任何建议,link,甚至示例代码,我们将不胜感激。提前致谢。

这是我的代码:

forms.py

class aform(ModelForm):

    class Meta:
        model = boom
        fields = ('a', 'b', 'c',)
    def __init__(self, *args, **kwargs):
        super(aform, self).__init__(*args, **kwargs)
        self.fields['a'].widget.attrs.update({'id': '0', 'name':'a',})
        self.fields['b'].widget.attrs.update({'id': '1','name':'a',})

我的看法

def index(request):
    form = aform(request.POST)
    if request.method == 'POST':

        if form.is_valid():
            for name in request.POST.getlist('a'):
                catform = aform({'a': name}, instance=boom())
                catform.save()

正如 Daniel Roseman 所说,为什么不使用表单集呢?

作为初学者,我真的不知道它的存在并开始四处挖掘并发现了一些巧妙的东西,比如 elo80ka 的 django-dynamic-formset which really solves every single problem I have (Cheers to him) this 教程真的帮了大忙。