Как я могу не устанавливать <pk> в моем url для получения определенных данных?

изначально мой api был установлен в api/barrel/details/int:pk, но я хочу сделать функцию удаления в api/barrel (в котором есть только функции get и post) без разбора pk

`

class BarrelAPIView(APIView):
    def get(self,request):
        barrel = Barrel.objects.all() #queryset
        serializer = BarrelSerializer(barrel, many=True)
        return Response(serializer.data)

    def post(self,request):
        serializer = BarrelSerializer(data=request.data)
        if serializer.is_valid():
             serializer.save()
             return Response(serializer.data, status=status.HTTP_201_CREATED) 

        return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
    
    def delete(self,request):
        try:
            data = request.data
            Barrel.objects.filter(code=data['code']).delete()
            
            return Response(status=status.HTTP_204_NO_CONTENT)

        except Exception as error:
            return Response( status=status.HTTP_400_BAD_REQUEST) 

`

это можно сделать на postman, разобрав "код". но когда я пробую на restframework default api browser, кнопка удаления появляется, но после этого ничего не происходит

Вам стоит заглянуть: https://www.django-rest-framework.org/api-guide/generic-views/#mixins. В долгосрочной перспективе это облегчит вам жизнь. url может иметь любую структуру, которая вам нравится. Я бы также посоветовал обратиться к: Две ложки Django, которые познакомят вас с различными советами, трюками, шаблонами, фрагментами кода и техниками

Вернуться на верх