Django API, основанный на классах, использует только метод GET. Это возможно?
Я создаю API, основанный на классе, только для метода GET, с помощью Django и Rest Framework. Однако, посмотрев в интернете, кажется, что это невозможно сделать.
Вот мой urls.py:
from django.urls import path, include
from rest_framework import routers
from . import views
api_router = routers.DefaultRouter()
api_router.register(r"get_foo_id", views.GetFooIdViewSet)
urlpatterns = [
path( "", include(api_router.urls)),
]
views.py
from app.models import *
from app.serializers import *
from rest_framework import viewsets
from django_filters.rest_framework import DjangoFilterBackend
class GetFooIdViewSet(viewsets.ModelViewSet):
queryset = Foos.objects.all()
serializer_class = FoosSerializer
filter_backends = [DjangoFilterBackend]
filterset_fields = ['foo_id']
Это действительно невозможно?
Вы можете разрешить только GET(list) запросы в urls.py. Попробуйте сделать это:
path('your_path/', views.GetFooIdViewSet.as_view({
'get': 'list'
})),