Django использует вновь созданный объект в обратном перенаправлении - PullRequest
2 голосов
/ 05 октября 2010

Я пытаюсь получить идентификатор из вновь созданного объекта проекта, чтобы я мог перенаправить пользователя на страницу, содержащую новый проект. Прямо сейчас я получаю «Объект 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 Ответ

6 голосов
/ 05 октября 2010

Метод save возвращает объект вашей модели.Получите ссылку на него, и тогда у вас будет «id», необходимый для обратного перенаправления.

instance = form.save()
return HttpResponseRedirect(reverse('project.views.detail', instance.id))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...