2013-02-25 25 views
0

处理其形式后,我需要得到我只是不停的对象的ID,以将其通过在HttpResponseRedirect:获取对象的ID在views.py

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}) 

提前感谢!

+0

的[Django的可能重复的关键字参数:如何获得记录刚刚保存的ID?](http://stackoverflow.com/questions/6253611/django-how-to-get-the-id-of-the-record-just-saved) – bernie 2013-02-25 19:54:57

+0

其实上述问题不是'特定于保存表单,但这里有一个更好的匹配:http://stackoverflow.com/questions/10144475/getting-the-model-id-from-a-django-form-after-having-saved-it – bernie 2013-02-25 19:56:16

回答

0

假设TrackForm延伸的ModelForm:

formulari = formulari.save() 
return HttpResponseRedirect('/track/pujar/acoplar',formulari.id) 

不知道你是怎么接受的变量,我不能告诉你如何最有效地传递参数。不过,我会鼓励你使用reverse而不是硬编码的网址,这看起来像:

return HttpResponseRedirect(reverse('view_name', args=(), 
    kwargs={'track_id': formulai.id})) 

假设你的看法接受的track_id