在 Views.py 中引用表单的 ID 字段

referencing an ID field of a form in Views.py

我正在尝试在提交表单时通过电子邮件发送模型条目的url

然而,当我像这样引用我的 form.id 时

 + `'(http://localhost:8000/zipherJobCards/viewJobCard/'+form.cleaned_data['id']+')',`

我收到以下错误

KeyError: 'id'

有没有正确的方法来引用像这样的条目的 ID?

请在此处查看完整的 send_mail 函数

def jobCard(request ):
    form = jobCardForm()

    if request.method == 'POST':
        form = jobCardForm(request.POST)
        if form.is_valid():
            form.save()

            send_mail(
                'ZTS JOB CARD' + form.cleaned_data['jobNumber'],
                'A new job card has been loaded for ' + form.cleaned_data['customerName'] + ' with a Total Cost of ' + form.cleaned_data['totalCostOfJob'] + '(http://localhost:8000/zipherJobCards/viewJobCard/'+form.cleaned_data['id']+')',
                'it.zipher@gmail.com',
                ['it@zipher.co.za'],
                fail_silently=False,
            )

            return redirect('home')
        else:
            print(form.errors)

    content = {'form':form}
    return render(request, 'main/jobCard.html', content)

id(或pk)不是表单的一部分,它是保存对象时设置的主键。你需要做obj = form.save(),然后你可以引用保存的对象,比如obj.id