В представление на основе класса UpdateView передаются:
1) некоторый параметр с именем brif_id
2) некоторый параметр с именем pk
Для меня имеет значение первый, так как нужно сделать перенаправление на success_url , который вычисляется reverse_lazy и в этот url нужно передать первый параметр и ещё один, значение которого уже известно — то есть его можно вручную указать программно.
В классе представления переопределил метод:
def get_success_url(self,): return reverse_lazy('question:questions', kwargs={'brif_id': self.kwargs['brif_id'] , 'edit': '1'})
Вызывается исключение: Not Found — ни одно совпадение не распознается. То ли параметра нет в kwargs.
В каком атрибуте класса UpdateView параметры искать?
Даже если не предоставить success_url, ищется этот url http://127.0.0.1:8000/briefing/questions/2
Ожидаемый, который должен вычислить reverse_lazy: http://127.0.0.1:8000/briefing/questions/2/edit=1
Вот само выражение:
r'^briefing/questions/(?P<brif_id>[-+]?\d+)/edit=(?P<edit>\d{1})/$'
Просто уже подозрения, что url вычисляется неправильно и берётся из экземпляра модели. А это, очевидно, неправильный url.