Django rest framework URL шаблон CRUD операции в одном классе GenericAPIView
Я создавал представление класса с помощью GenericAPIView в Django rest framework. и определял их URL, но на Django swagger каждый URL показывает все методы.
#views.py
class AmenitiesView(ListModelMixin, RetrieveModelMixin, CreateModelMixin, DestroyModelMixin, UpdateModelMixin, GenericAPIView):
serializer_class = AmenitiesSerializer
queryset = Amenities.objects.all()
def get(self, request, *args, **kwargs):
many, queryset = True, self.filter_queryset(self.get_queryset())
if 'pk' in kwargs and kwargs['pk']:
many, queryset = False, self.get_object()
serializer = self.get_serializer(queryset, many=many)
return Response({"data": serializer.data, "message": "Successfully Get Amenities", "isSuccess": True, "status": 200}, status=200)
def post(self, request, *args, **kwargs):
return self.create(request, *args, **kwargs)
def put(self, request, *args, **kwargs):
return self.update(request, *args, **kwargs)
def delete(self, request, *args, **kwargs):
return self.destroy(request, *args, **kwargs)
#urls.py
urlpatterns = [
path('amenities/get/', AmenitiesView.as_view()),
path('amenities/get/<int:pk>/', AmenitiesView.as_view()),
path('amenities/create/', AmenitiesView.as_view()),
path('amenities/edit/<int:pk>/', AmenitiesView.as_view()),
path('amenities/delete/<int:pk>/', AmenitiesView.as_view()),
]
как определить URL с методом, например, если URL 'amenities/get/', то swagger покажет только метод get, а если URL 'amenities/create/', то только метод post, показанный на этом url.