保存到 Django 模型后返回主键

Mic*_*ell 4 python django return

我已经看过这里的文档和几个类似的堆栈溢出帖子,但保存表单后我仍然无法返回该新模型的 ID/PK。它一直告诉我'ProposalForm' object has no attribute 'id' 如何在保存后立即返回ID?

这是视图:

def proposal_create_view2(request):
        if request.method == 'POST':
            form = ProposalForm(data=request.POST)
            if form.is_valid():
                form.save()
                response = {}
                response['proposalID'] = form.id
                return response
Run Code Online (Sandbox Code Playgroud)

Ram*_*raf 5

my_saved_model = my_model_form.save()

打印 my_saved_model.pk

编辑:

def proposal_create_view2(request):
    if request.method == 'POST':
        form = ProposalForm(data=request.POST)
        if form.is_valid():
            mysaved_model = form.save()
            response = {}
            response['proposalID'] = mysaved_model.id #or .pk
            return render(request , 'my_template_file.html' , response) 

            #return response statement is NOT valid as you need to return an HttpResponse not a dict
Run Code Online (Sandbox Code Playgroud)

查看有关 HttpResponses 的 Django 文档