как создать вложенный роутер urs в rest_framework? - PullRequest
0 голосов
/ 22 сентября 2018

Я создал URL с помощью NestedSimpleRouter.И URL-адрес, который я создал, таков:

http://localhost:8000/api/category/1/subcategory/

И в приведенном выше URL-адресе 1 в идентификаторе категории. И моя проблема в том, что я хочу создать URL-адрес, подобный этому

http://localhost:8000/api/category/1/subcategory/1/interest

this 1 is subcategory_id

Итак, как мне определить вложенный URL для этого URL. Мой urls.py приведен ниже:

urls.py:

from django.urls import path,include
from rest_framework_nested import routers

from campaignapp import views

router = routers.DefaultRouter()
router.register('campaign',views.CampaignViewSet)
router.register('interestbundle',views.InterestBundleViewSet)
router.register('category',views.CategoryViewSet,'category')

category_router = routers.NestedSimpleRouter(router, r'category', lookup='category')
category_router.register(r'subcategory', views.SubcategoryViewSet, base_name='category-subcategory')




urlpatterns = [
    path('',include(router.urls)),
    path('',include(category_router.urls))
]

1 Ответ

0 голосов
/ 23 сентября 2018

Вы можете добавить дополнительные действия в свой набор просмотра, используя action или list_route или detail_route (более старая версия django rest framework) decorator.Этот декоратор применим ко всем ViewSets, которые наследуются от ViewSetMixin класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...