get_queryset 在 ListAPIView 中返回空白列表

get_queryset in ListAPIView retuns blank list

在我的应用程序中,我有两种类型的用户,即 companyemployees。我正在尝试基于此过滤查询集,如下所示:

class ProductListAPIView(generics.ListAPIView):
    serializer_class = ProductSerializer
    # pagination_class = StandardResultsSetPagination
    permission_classes = (permissions.IsAuthenticated, )

    def get_queryset(self):

        if self.request.user.is_company == 'True':
            user_company = self.request.user.id
            emp = list(Employee.objects.filter(company=user_company).values_list('pk', flat=True))
            emp.append(user_company)
            queryset = Product.objects.filter(owner__in=emp).order_by('-pk')
            return queryset
        elif self.request.user.is_employee == 'True':
            com = Company.objects.filter(pk=self.request.user.id).pk
            emp = list(Employee.objects.filter(company=com).values_list('pk', flat=True))
            emp.append(com)
            queryset = Product.objects.filter(owner__in=emp).order_by('-pk')
            return queryset

我尝试使用员工和公司凭据 URL,但它总是 return 一个空列表,但是当我独立使用公司代码时,它工作得很好。

我猜 is_companyis_employee 是布尔字段。

在这种情况下,检查应该是

if self.request.user.is_company is True:
...
elif self.request.user.is_employee is True:
...

或者干脆

if self.request.user.is_company:
...
elif self.request.user.is_employee:
...