2010-10-04 49 views
2

我想從新創建的項目對象中拉出id,以便我可以將用戶重定向到包含新項目的頁面。現在我得到「'ProjectAddForm'對象沒有屬性'id'」。Django在反向重定向中使用新創建的對象

我已經在網上閱讀,這應該工作,但由於某種原因,它不是。

if request.method == 'POST': 
     form = ProjectAddForm(request.POST) 
     if form.is_valid(): 
      form.save() 
      return HttpResponseRedirect(reverse('project.views.detail', args=(form.id))) 

Forms.py

class ProjectAddForm(forms.ModelForm): 

    class Meta: 
     model = Project 

回答

6

save方法返回的模型對象。抓住它的引用,然後你將有你的反向重定向所需的'id'。

instance = form.save() 
return HttpResponseRedirect(reverse('project.views.detail', instance.id)) 
+0

啊,這樣做,並使總體感。我唯一需要做的就是在reverse.id之後添加一個,並且它可以工作。謝謝! – jlarry 2010-10-04 22:17:01