docs: def check_permissions(self, request):
          """Permission checking for DRF."""
          objs = [None]
          if hasattr(self, 'get_perms_objects'):
              objs = self.get_perms_objects()
          else:
              if hasattr(self, 'get_object'):
                  try:
                      objs = [self.get_object()]
                  except Http404:
                      raise
                  except:
                      pass
              if objs == [None]:
                  objs = self.get_queryset()
              if len(objs) == 0:
                  objs = [None]
  
          if (hasattr(self, 'permission_filter_queryset') and
             self.permission_filter_queryset is not False and
             self.request.method == 'GET'):
              if objs != [None]:
                  self.perms_filter_queryset(objs)
          else:
              has_perm = check_perms(self.request.user,
                                     self.get_permission_required(),
                                     objs, self.request.method)
  
              if not has_perm:
                  msg = self.get_permission_denied_message(
                      default="Permission denied."
                  )
                  if isinstance(msg, Sequence):
                      msg = msg[0]
                  self.permission_denied(request, message=msg)