【问题标题】:How to use parameters in DRF router如何在 DRF 路由器中使用参数
【发布时间】:2020-12-05 21:44:35
【问题描述】:

大家好,所以我开始意识到 DRF ModelViewSet 是一种制作休息视图的快速方法,我正在尝试在路由器 url 中使用参数,但 ViewSet 没有检测到参数

这是我的视图集的外观

class ClientRequests(ModelsViewSet):
    serializer_class = serializers.ClientRequestSerializer

   def get_queryset(self):
      return models.ClientRequest.objects.filter(cliend_id=self.request.kwargs.get('client_id')

现在我注册路由器如下

router = DefaultRouter()
router.register('/<int:client_id/requests', views.ClientRequests, basename='clients request api endpoint')

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

这是使用restframework路由器的正确方法吗?使用路由器时如何将参数传递给url

【问题讨论】:

    标签: django django-rest-framework


    【解决方案1】:

    使用正则表达式表示法

    router.register(
        r'(?P<client_id>\d+)/requests',
        views.ClientRequests,
        basename='clients request api endpoint'
    )

    【讨论】:

    • 谢谢,我要测试一下
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 2021-04-16
    • 1970-01-01
    • 2019-08-18
    • 1970-01-01
    • 2011-08-06
    • 2019-03-13
    相关资源
    最近更新 更多