Вложенная конечная точка DRF без вложенных маршрутизаторов drf?

#python #django-rest-framework

#python #django-rest-framework

Вопрос:

Возможно ли иметь вложенную конечную точку для API без библиотеки drf-nested-routers?

Я попытался установить библиотеку в свой проект, но, похоже, безуспешно, я боюсь, что установка приведет к сбою проекта, поэтому я перестал устанавливать пакет.

Теперь я пишу api для получения данных из моделей, обычной конечной точкой будет

 /test?limit=10amp;offset=10
 

И я хотел бы разработать функцию поиска и просмотреть более подробную информацию о ней, вызвав этот api

 /test/{data_id}
 

например, вызов первой конечной точки приведет к получению данных:

 {
  id:1,
  name:test,

  id:2,
  name:test2,

}
 

когда я вызываю вторую конечную точку, она покажет

 /test/1
{
  id:1,
  name:test,
  age:17,
  gender:M,
}
 

Этого можно достичь без пакета вложенных маршрутизаторов? Я пытался, но он станет поиском и не сможет отображать подробную информацию

Ответ №1:

Я нахожу способ достичь своей цели

добавьте следующий оператор re_path в urls.py

 router.register("test",TestViewSet)

urlpatterns =[

re_path('^test/(?P<test_uid>. )/', TestIDViewSet.as_view({'get':'list'})),
]
urlpatterns  = router.urls
 

и создайте новый набор представлений в viewset.py