Django 在views.py中处理对象的表单后获取对象的id
我需要获取刚才保存的对象的id,以便在HttpResponseRedirect中传递它:Django 在views.py中处理对象的表单后获取对象的id,django,django-forms,django-views,Django,Django Forms,Django Views,我需要获取刚才保存的对象的id,以便在HttpResponseRedirect中传递它: def pujar_track(request): if request.method=='POST': formulari = TrackForm(request.POST, request.FILES) if formulari.is_valid(): formulari.save() # c
def pujar_track(request):
if request.method=='POST':
formulari = TrackForm(request.POST, request.FILES)
if formulari.is_valid():
formulari.save()
# code to get the track_id ???
return HttpResponseRedirect('/track/pujar/acoplar',track_id)
else:
formulari = TrackForm()
return render(request,'principal/trackForm.html',
{'formulari':formulari})
提前谢谢 假设TrackForm扩展了ModelForm:
formulari = formulari.save()
return HttpResponseRedirect('/track/pujar/acoplar',formulari.id)
如果不知道你是如何接受变量的,我就无法告诉你如何最好地传递参数。但是,我建议您使用反向
,而不是硬编码url,如下所示:
return HttpResponseRedirect(reverse('view_name', args=(),
kwargs={'track_id': formulai.id}))
假设您的视图接受一个关键字参数
track\u id
,那么上述问题实际上可能与保存表单无关,但这里有一个更好的匹配: