          return model_name
  
      def has_permission(self, request, view):
          if view.action == 'list':
              user = request.user
              queryset = view.get_queryset()
              model_name = self._get_names(view)
              view.queryset = guardian.shortcuts.get_objects_for_user(user, 'read_' + model_name, queryset)  #TODO: move to filter
          return super(DjangoObjectLevelModelPermissions, self).has_permission(request, view)
  
 
</s> remove             model_name = self._get_names(view)
            view.queryset = guardian.shortcuts.get_objects_for_user(user, 'read_' + model_name, queryset)  #TODO: move to filter
 </s> add             view.queryset = ObjectPermissionReaderFilter().filter_queryset(request, queryset, view) </s> remove         user = request.user
        model_name = self._get_names(view)
 </s> add  </s> remove     def _get_names(self, view):
 </s> add     def _get_model_name(self, view):
          return model_name
  
      def has_permission(self, request, view):
          if view.action == 'list':

              queryset = view.get_queryset()
              model_name = self._get_names(view)
              view.queryset = guardian.shortcuts.get_objects_for_user(user, 'read_' + model_name, queryset)  #TODO: move to filter
          return super(DjangoObjectLevelModelPermissions, self).has_permission(request, view)
  
keep keep keep keep replace keep keep keep keep keep
 switch to a dedicated filter for read list object permissions 
rest_framework/permissions.py