              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)
  
      def has_object_permission(self, request, view, obj):
          user = request.user
          model_name = self._get_names(view)
          action = self.action_perm_map.get(view.action)
  
          assert action, "Tried to determine object permissions but no action specified in view"
  
          perm = "{action}_{model_name}".format(action=action, model_name=model_name)
 
</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
 </s> add  </s> remove     def _get_names(self, view):
 </s> add     def _get_model_name(self, 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)
  
      def has_object_permission(self, request, view, obj):


          action = self.action_perm_map.get(view.action)
  
          assert action, "Tried to determine object permissions but no action specified in view"
  
          perm = "{action}_{model_name}".format(action=action, model_name=model_name)
keep keep keep keep replace replace keep keep keep keep keep
 switch to a dedicated filter for read list object permissions 
rest_framework/permissions.py