2

ユーザーを新しいプロジェクトを含むページにリダイレクトできるように、新しく作成されたプロジェクト オブジェクトから 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
4

1 に答える 1

6

saveメソッドはモデル オブジェクトを返します。それへの参照を取得すると、逆リダイレクトに必要な「ID」が得られます。

instance = form.save()
return HttpResponseRedirect(reverse('project.views.detail', instance.id))
于 2010-10-04T22:07:58.583 に答える