2013-02-25 28 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