Как добавить функцию настраиваемого действия, используя Django DRF viewset.Viewsets? - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть набор изображений, в котором я создал функцию @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>

...