Django 在反向重定向中使用新创建的对象
Posted
技术标签:
【中文标题】Django 在反向重定向中使用新创建的对象【英文标题】:Django using a newly create object in reverse redirect 【发布时间】:2011-04-21 01:02:05 【问题描述】:我正在尝试从新创建的项目对象中提取 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
【问题讨论】:
【参考方案1】:save
方法返回您的模型对象。获取对它的引用,然后您将获得反向重定向所需的“id”。
instance = form.save()
return HttpResponseRedirect(reverse('project.views.detail', instance.id))
【讨论】:
啊,这样做很有意义。我唯一要做的就是在反向 instance.id 之后添加一个 , 并且它可以工作。谢谢!以上是关于Django 在反向重定向中使用新创建的对象的主要内容,如果未能解决你的问题,请参考以下文章