Django 在views.py中处理对象的表单后获取对象的id

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

我需要获取刚才保存的对象的id,以便在HttpResponseRedirect中传递它:

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

,那么上述问题实际上可能与保存表单无关,但这里有一个更好的匹配: