Django Rest Framework url with additional parameters

Я обрабатываю методы POST, GET и DELITE с помощью ниже приведенных функций. Но я полагаю, что тоже самое можно сделать гораздо проще с использованием API и Django Rest Framework. Но как мне добавить в API дополнительные, необходимые параметры (имею в виду /(?P<Id_Incidents>\d+)/):

router.register(r'victims', AkpVictimsViewSet, basename='api_victims')

Решение без Django Rest Framework:

urlpatterns = [
    
    re_path(r'^incident/(?P<Id_Incidents>\d+)/load_table_victim/$',
                views.load_table_victim,
                name='load_table_victim'),
    path(
            'delete_victim/<int:Id_Victim>',
            views.delete_victim,
            name='delete_victim'),
    
    re_path(r'^incident/(?P<Id_Incidents>\d+)/add_victim/$',
                views.add_victim,
                name='add_victim')
    ]

def load_table_victim(request, Id_Incidents=None):
    if request.method == "GET":
        if request.user:
            try:
                incidents = AkpIncidents.objects.get(Id_Incidents=Id_Incidents,)
            except AkpIncidents.objects.DoesNotExist:
                incidents = None

            serializer = IncidentsVictimSerializer(incidents, many=False)

            return JsonResponse(serializer.data, safe=False)
        else:
            return HttpResponse(status=403)
    else:
        return HttpResponse(status=405)


def delete_victim(request, Id_Victim):
    if request.method == "DELETE":
        if request.user:
            victim_to_delete = AkpVictim.objects.filter(Id_Victim=Id_Victim)
            victim_to_delete.delete()
            return JsonResponse(data={'status': 1, 'message': 'success'}, safe=False, status=200)
        else:
            return HttpResponse(status=403)
    else:
        return HttpResponse(status=405)


def add_victim(request, Id_Incidents=None):
    if request.method == "POST":
        if request.user:
            form = AkpVictimForm(request.POST)
            if form.is_valid():
                victim_created = form.save(commit=False)
                victim_created.Id_Incidents = get_object_or_404(AkpIncidents, Id_Incidents=Id_Incidents)
                victim_created.save()
                return JsonResponse(data={'status': 1, 'message': 'success'}, safe=False, status=201)
            else:
                return HttpResponse(status=400)
        else:
            return HttpResponse(status=403)
    else:
        return HttpResponse(status=405)
Вернуться на верх