Как получить параметр pk при обратном перенаправлении

#django #django-views

#django #django-просмотры

Вопрос:

У меня есть представление:

 @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 или запустить view, он выдает мне эту ошибку:

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

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

Есть идеи

Комментарии:

1. Что вы подразумеваете под не работает ?

2. Он не перенаправляет в нужное место, а выдает мне эту ошибку reverse() got an unexpected keyword argument 'pk'

Ответ №1:

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

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

Ссылка: Django reverse()

Ответ №2:

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

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

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