如何在没有Generic View的post_save_redirect参数的情况下重定向到Django中新创建的对象

Tre*_*ier 1 python django

我正在尝试object.get_absolute_url()在保存表单后将用户重定向到新创建的对象.我没有使用通用视图,因此我无法使用该post_save_redirect参数.相关部分view是这样的:

if form.is_valid():
    form.save()
    return HttpResponseRedirect(reverse('story_detail', args=(story.user, story.id)))
Run Code Online (Sandbox Code Playgroud)

现在我如何获得和story之间的对象以便我可以进行查找?form.save()HttpResponseRedirectreverse

Jar*_*die 5

一个ModelForm人的save方法返回新创建的模型实例.在您的情况下,这意味着您应该能够使用以下内容:

if form.is_valid():
    story = form.save()
    return HttpResponseRedirect(reverse('story_detail', args=(story.user, story.id)))
Run Code Online (Sandbox Code Playgroud)