Не отправлять формы повторно в конце мастера Django

У меня есть мастер, реализованный с помощью SessionWizardView, и я выполняю некоторую внутреннюю проверку и вызовы других методов на каждом этапе (например, внутри методов формы init, clean или внутри process_step). Так что на самом деле мне не нужно отправлять все формы и сохранять данные со всех шагов в конце моего мастера. Мне просто нужно перенаправить на главную страницу после последнего шага. Как лучше всего это сделать? Переопределить что-то вроде render_done()? Какие-либо предложения?


person Oink    schedule 25.06.2013    source источник
comment
Почему бы просто не реализовать done(self, form_list, **kwargs)?   -  person Cartucho    schedule 26.06.2013


Ответы (1)


Похоже, переопределение метода render_done() отлично работает. Но моя проблема была связана с валидацией. У меня было поле, где валидатор проверял, существует ли пользователь. Если нет - он создан на этом шаге. Так что повторная проверка здесь всегда будет неудачной :). Удаление этого кода:

if not form_obj.is_valid():
    return self.render_revalidation_failure(form_key, form_obj, **kwargs)

решена проблема повторной проверки в конце мастера.

person Oink    schedule 28.06.2013