Django drf序列化程序无法在to-tu表示中获取多个实例

2024-04-18 18:56:19 发布

您现在位置:Python中文网/ 问答频道 /正文

我的视图类看起来像

views.py

class UserHierarchyOfOrganizations(viewsets.GenericViewSet, mixins.ListModelMixin):

    serializer_class = UserListOrganizationHierarchySerializer

    def get_queryset(self):
        user_ids = map(int, self.request.query_params['users'].split(','))
        return User.objects.filter(id__in=list(user_ids)).select_related('organization')

serializers.py

^{pr2}$

但是我在_get_org_hierarchyto_representation方法中获得单个用户实例,而不是多个用户实例。在

有没有办法在UserListOrganizationHierarchySerializer序列化程序中获取用户类的多个实例(请参阅get_queryset方法)?在

我想达到的目的是

{
  "organization_hierarchy": [ 
     {"id": 1, "organizations": "foo -> bar"},
  ]
}

Tags: 实例方法用户pyself视图idids
1条回答
网友
1楼 · 发布于 2024-04-18 18:56:19

据我所知,您需要访问您视图中的get_queryset(),对吗?然后试着用这个来代替你的,_get_org_hierarchy(self, obj)

def _get_org_hierarchy(self, obj):
    queryset = self.context['view'].get_queryset()  # to get results of get_queryset() from your view
    serializer = UserOrganizationHierarchySerializer(queryset, many=True)
    return serializer.data


相关问题 更多 >