У меня есть набор изображений, в котором я создал функцию @action, оформленную.
class StoreOffersViewSet(viewsets.ViewSet):
"""Viewset for yoga stuff."""
@action(detail=False, methods=['put'], name='yoga update')
def update_yoga(self, request):
# Get Kwargs passed
params = self.kwargs
В моих URL-адресах у меня есть:
router = DefaultRouter(trailing_slash=True)
router.register(r'yoga', views.StoreOffersViewSet, basename='yoga')
urlpatterns = router.urls
Я хотел бы, чтобы, когда у пользователя естьPUT запрос к site.com/yoga, моя функция update_yoga называется.
В нынешнем виде я получаю следующую ошибку:
{
"detail": "Method \"PUT\" not allowed."
}
Я предполагаю, что это потому, что дляМаршрутизатор по умолчанию, GET и POST уже имеют стиль URL из документов, https://www.django -rest-framework.org / api-guide / routers / # defaultrouter . Так что я не слишком уверен, как поступить. Я на Джанго 3.8>