在Django中保存模型后返回主键
我看过这份文档 这里,还有几个类似的Stack Overflow帖子,但在我保存表单后,还是无法获取新模型的ID/主键。系统一直告诉我 '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
2 个回答
1
ModelForm.save()
的返回值是新的模型对象。你可以从这个对象中获取主键(PK)。
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