【问题标题】:Django set form value equal to another form value in templateDjango将表单值设置为模板中的另一个表单值
【发布时间】:2020-08-31 05:17:18
【问题描述】:

我想达到以下目标:我在一个视图中有两个表单,form1 和 form2。型号如下:

Class Model1(models.Model):
 var_1=models.CharField()
 var_2=models.CharField

Class Model2(models.Model):
 var_1=models.CharField()
 var_3=models.CharField

我刚刚使用一个提交按钮将两个表单设置在同一个视图中。现在,当客户端填写form1 时,我希望能够从form1 中设置var_1 也为Model2var_1 (因为相等)。有可能得到吗? 这是我的观点.py

def example(request):
    if request.method == 'POST':
         form1 = Model1Form(request.POST)
         form2 = Model2Form(request.POST)
         if form1.is_valid() and form2.isvalid():
             print("Il form è valido")
             new_input1 = form1.save()
             new_input2=form2.save()

    else :
        form1 = Model1Form()
        form2 = Model2Form()


    context= {
        'form1': form1,
        'form2':form2,
            }

    return render(request, "", context)

【问题讨论】:

  • 您能分享一下您的看法吗?
  • 我刚刚添加了

标签: javascript jquery django django-models django-forms


【解决方案1】:

建议您在保存之前从其他表单中设置字段的值。

if form1.is_valid() and form2.isvalid():
    form2.cleaned_data['var_1'] = form1.cleaned_data['var_1']
    form1.save()
    form2.save()

我假设您没有在两个表单上显示var_1 字段?如果你同时显示这两个,这将覆盖var_1 的值form2

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-14
    • 2013-01-25
    • 1970-01-01
    相关资源
    最近更新 更多