簡體   English   中英

我在“AttributeError:'NoneType'對象中沒有屬性'get_all_permissions'中收到這些錯誤

[英]I am getting these error in " AttributeError: 'NoneType' object has no attribute 'get_all_permissions'

class TenantViewSet(viewsets.ModelViewSet):
    """
    API endpoint that allows Tenant users to be viewed.
    """
    model = TenantUser
    serializer_class = TenantUserSerializer

    def list(self, request, domain):
        tenants = TenantUser.objects.all()
        serializer = TenantUserSerializer(tenants)
        return Response(serializer.data)

    def retrieve(self, request, domain, pk=None):
        current_tenant_user = get_current_tenant_user()
        permissions = current_tenant_user.user.get_all_permissions()
        if pk == 'me' or int(pk) == current_tenant_user.id:
            tenant_user = current_tenant_user
        else:
            if not 'core.admin' in permissions:
                return Response({"detail": "You don't have permission to perform this action."},
                                status=status.HTTP_403_FORBIDDEN)
            try:
                tenant_user = TenantUser.objects.get(id=pk)
            except(TenantUser.DoesNotExist, Exception, ValueError):
                return Response(status=status.HTTP_404_NOT_FOUND)
            permissions = tenant_user.user.get_all_permissions()
        serializer = TenantUserSerializer(tenant_user)
        serializer.data['is_apps_admin'] = 'core.apps' in permissions
        serializer.data['is_admin'] = 'core.admin' in permissions
        serializer.data['is_user'] = 'core.user' in permissions
        serializer.data['is_subscribed'] = 'core.active' in permissions
        serializer.data['is_sales_admin'] = 'core.sales' in permissions
        serializer.data['is_marketing_admin'] = 'core.marketing' in permissions
        return Response(serializer.data)

我的猜測get_current_tenant_user函數不會返回用戶。 確保用戶使用returnyield語句從該函數return

暫無
暫無

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

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