簡體   English   中英

僅限Django REST列表(無詳細信息)ViewSet

[英]Django REST list-only (no details) ViewSet

有一個路由器:

router.register('users', UsersViewSet, base_name='users')

還有一個ViewSet:

class UserViewSet(viewsets.ReadOnlyModelViewSet):
    def get_queryset(self):
        return self.get_object_list()

    def get_object(self):
        for input in self.get_object_list():
            if input.id == self.kwargs['pk']:
                self.check_object_permissions(self.request, input)
                return input

        raise MyCustomNotFound()

當我轉到“ / rest / users /”時,它顯示了用戶列表。 當我去“ rest / users / 1”-它顯示了一些用戶的詳細信息。

現在,我想創建一個/ employees只讀資源,該資源擴展了User,但只顯示了列表(鍵入類似“ / employees / 1”的內容顯示了Django 404)。

嘗試的解決方案:

1)覆蓋get_object()並返回Http404-不起作用,它顯示帶有數據的REST頁面而不是404頁面。

2)使用路由器文件中http://www.django-rest-framework.org/api-guide/viewsets/#readonlymodelviewset-user_list user_list = UserViewSet.as_view({'get': 'list'})中描述的內容-不起作用。

您可以直接在處理函數中繼承mixins.ListModelMixin嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM