获取所选项目的详细信息

时间:2021-07-01 06:09:33

标签: python django

我有一个零件表和交货说明表(dins)。要创建一个 din,我必须选择一个部件名称。所以我想要做的是,从下拉列表中选择零件名称后,零件的价格将在表单中可见。

在零件表中,我有特定零件名称的价格值。所以在创建 dins 时,选择这样一个示例零件名称为 X 后,表格应显示所选零件的价格(X 零件)价格。

知道如何做到这一点吗?

views.py

def create_deliveryins(request):
    from django import forms
    form = DeliveryInsForm()

    if request.method == 'POST':
        forms = DeliveryInsForm(request.POST)
        if forms.is_valid():
            product = forms.cleaned_data['product']
            usage = forms.cleaned_data['usage']
            part= forms.cleaned_data['part']

            deliveryins = DeliveryIns.objects.create(
                usage=usage,
                product=product,
                part=part,
            )
            return redirect('dins-list')
    context = {
        'form': form
    }
    return render(request, 'store/addDins.html', context)

HTML

<form action="#" method="post" novalidate="novalidate">

 {% csrf_token %}

    <div class="form-group">
      <label for="product" class="control-label mb-1">Product</label>
      {{ form.product }}
    </div>

    <div class="form-group">
      <label for="part" class="control-label mb-1">Part</label>
      {{ form.part}}
    </div>

   <div class="form-group">
     <label for="usage" class="control-label mb-1">Usage</label>
     {{ form.usage }}
   </div>
</form>

1 个答案:

答案 0 :(得分:0)

创建一个隐藏的表单字段,其中包含每个零件的零件价格。 使用 Javascript 或 Jquery 更新价格表单字段,并在表单部件字段更改时显示。

这将阻止对 ajax 或其他视图或请求的需要。 您只需要稍微修改您的视图和模板。