Django从一个表单中插入多个输入值

时间:2015-05-26 20:17:18

标签: jquery python django forms django-forms

问题是如何在Django表单提交中插入一个表单的乘法值。表单只有一个输入,用于记录不同的数字。我知道模型集表单和内联表单集,但这是不同的问题。表单仅作为一个表单字段设置为HTML页面。通过一些jQuery,我创建了大约10个具有相同表单名称的其他输入值。我将提供更好的解释代码。

models.py

class TestModel(models.Model):
    id = models.AutoField(primary_key=True)
    code = models.CharField(max_length=255)
    organization = models.ForeignKey('Organization')
    prod_serv    = models.ForeignKey('Product_service')
    out_invoice  = models.ForeignKey('OutgoingInvoice')

django模型中的简单模型。

forms.py

class ModelForTest(forms.ModelForm):
    class Meta:
        model = TestModel
        exclude = ('organization','out_invoice', 'prod_serv', )

views.py

if request.method == 'POST':
    form5 = ModelForTest(request.POST, prefix='form5')
    if form5.is_valid():
        u = form5.save(commit=False)
        for code in form5.cleaned_data['code']:
            u.organization_id = org_id.id  
            u.out_invoice_id= b.id
            test = Product_service.objects.get(product_code=code)
            u.prod_serv_id = test.id
            u.save()
    else:
        form5 = ModelForTest(prefix='form5')

return render_to_response(template, dict(form5=form5), context_instance=RequestContext(request))

这是for循环中的问题,我必须从code命名的字段中提取所有值。我只是从HTML获得第一个输入值,其他值不会在for loop内循环。如何做到这一点,我的意思是如何从表格中提取所有值并在表单提交后插入模型。

1 个答案:

答案 0 :(得分:0)

尝试将模板org.apache.spark.rdd.RDD[(Any, org.apache.spark.sql.Row)] 中的所有条目更改为name=code

使用Django Forms实现这一目标 - 请看@Daniel Roseman回答

https://stackoverflow.com/a/8802119/3033586

name=code[]