Как передать два PK через урлы в Django?

Я создал функцию, которая добавляет пользователя в событие, это работает хорошо, но у меня проблемы с функцией, которая удаляет пользователей из события, я не понял, как получить сопровождающего, чтобы владелец мог удалить его.

На данный момент у меня есть следующее:

views.py (Функция, добавляющая пользователя в событие)

@login_required
def request_event(request, pk):
    previous = request.META.get('HTTP_REFERER')
    try:
        post = Post.objects.get(pk=pk)
        Attending.objects.create(post=post, attendant=request.user)
        messages.success(request, f'Request sent!')
        return redirect(previous)
    except post.DoesNotExist:
        return redirect('/')

(Функция, которая удаляет пользователей с мероприятия, обрабатывается владельцем мероприятия)

@login_required
def remove_attendant(request, pk, id):
    previous = request.META.get('HTTP_REFERER')
    try:
        post = Post.objects.get(pk=pk)
        attendant = Attending.objects.get(id=attendance_id)
        Attending.objects.filter(post=post, attendant=attendant).delete()
        messages.success(request, f'User removed!')
        return redirect(previous)
    except post.DoesNotExist:
        return redirect('/')

Urls.py

path('post/(?P<pk>[0-9]+)/remove_attendant/(?P<attendance_id>[0-9]+)$', views.remove_attendant, name='remove-attendant'),

Любая помощь или комментарий будут очень рады! Спасибо!!!

attendance_id, похоже, не определено в вашем коде.

def remove_attendant(request, pk, attendance_id): должно быть то, что вы вызываете.

Теоретически, вы должны иметь доступ к pk и attendance_id из request.resolver_match.kwargs в любом случае.

Вы можете просто использовать позиционные аргументы в вашем пути к url, нет необходимости в regex. Имена ваших переменных также могут быть описательными, если это поможет (если это часто помогает мне).

path('remove-attendant-view/<post_id>/<attendance_id>/', views.remove_attendant, name='remove_attendant'),

А в файле views.py, что-то вроде:

def remove_attendant(request, post_id, attendance_id):

И где бы вы ни вызывали эту функцию представления, вы должны убедиться, что ваш url содержит эти id и pks в контексте и в порядке, например, что-то вроде:

<a href="{% url 'remove_attendant' post_id=post_id, attendant_id=attendance_id %}">Remove Attendant</a>
Вернуться на верх