  
          return [perm % kwargs for perm in self.perms_map[method]]
  
      def has_object_permission(self, request, view, obj):
          if hasattr(view, 'get_queryset'):
              queryset = view.get_queryset()
          else:
              queryset = getattr(view, 'queryset', None)
  
          assert queryset is not None, (
              'Cannot apply DjangoObjectPermissions on a view that '
              'does not set `.queryset` or have a `.get_queryset()` method.'
          )
  
          model_cls = queryset.model
          user = request.user
  
          perms = self.get_required_object_permissions(request.method, model_cls)
  
 
</s> remove         if hasattr(view, 'get_queryset'):
            queryset = view.get_queryset()
            assert queryset is not None, (
                '{}.get_queryset() returned None'.format(view.__class__.__name__)
            )
        else:
            queryset = getattr(view, 'queryset', None)

        assert queryset is not None, (
            'Cannot apply DjangoModelPermissions on a view that '
            'does not set `.queryset` or have a `.get_queryset()` method.'
        )

 </s> add         queryset = self._queryset(view) </s> remove     status
 </s> add     status, views
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
  
          return [perm % kwargs for perm in self.perms_map[method]]
  
      def has_object_permission(self, request, view, obj):
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
        # authentication checks have already executed via has_permission
        queryset = self._queryset(view)
          model_cls = queryset.model
          user = request.user
  
          perms = self.get_required_object_permissions(request.method, model_cls)
  
keep keep keep keep replace replace replace replace replace replace replace replace replace replace keep keep keep keep keep
 Unify QS handling for model/object permissions 
rest_framework/permissions.py