Как я могу не устанавливать <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, которые познакомят вас с различными советами, трюками, шаблонами, фрагментами кода и техниками