Django在反向重定向中使用新创建的对象

Django在反向重定向中使用新创建的对象,django,forms,reverse,modelform,Django,Forms,Reverse,Modelform,我试图从新创建的项目对象中提取id,以便将用户重定向到包含新项目的页面。现在我得到“'ProjectAddForm'对象没有属性'id'” 我在网上读到过,这应该行得通,但由于某些原因,它行不通 if request.method == 'POST': form = ProjectAddForm(request.POST) if form.is_valid(): form.save() return HttpResp

我试图从新创建的项目对象中提取id,以便将用户重定向到包含新项目的页面。现在我得到“'ProjectAddForm'对象没有属性'id'”

我在网上读到过,这应该行得通,但由于某些原因,它行不通

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

save
方法返回模型对象。抓取对它的引用,然后您将拥有反向重定向所需的“id”

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

啊,就是这样,完全有道理。我唯一要做的就是在reverse instance.id之后添加一个,它就可以工作了。谢谢