Как получить параметр pk в обратном перенаправлении - PullRequest
0 голосов
/ 20 марта 2019

У меня есть вид:

@login_required
def add_auditor(request, pk, pk2):
    company_details = get_object_or_404(Company, pk=pk)
    user_profile = get_object_or_404(Profile, pk=pk2)

    company_details.auditor.add(user_profile.name)
    company_details.save()

    return redirect(reverse('company:search_auditors' , pk=company_details.pk))

URL перенаправления в этом представлении не работает, поскольку в нем есть параметр первичного ключа.

Когда я пытаюсь добавить add_auditor или запустить просмотр, я вижу эту ошибку:

TypeError: reverse() got an unexpected keyword argument 'pk'

Как передать параметр первичного ключа в URL перенаправления?

Любая идея

Ответы [ 2 ]

2 голосов
/ 20 марта 2019

Данные должны быть переданы через аргумент kwargs, как показано ниже,

return redirect(reverse('company:search_auditors', <b>kwargs={"pk": company_details.pk}</b>))

Ссылка: Джанго reverse()

1 голос
/ 20 марта 2019

Вы должны передать функцию kwargs в reverse () следующим синтаксисом:

return redirect(reverse('company:search_auditors' , kwargs={'pk':company_details.pk}))

подробнее об обратном

...