docs: def has_delete_permission(self, request, obj=None):
          """
          Returns True if the given request has permission to change the given
          Django model instance, the default implementation doesn't examine the
          `obj` parameter.
  
          Can be overriden by the user in subclasses. In such case it should
          return True if the given request has permission to delete the `obj`
          model instance. If `obj` is None, this should return True if the given
          request has permission to delete *any* object of the given type.
          """
          opts = self.opts
          return request.user.has_perm(opts.app_label + '.' + opts.get_delete_permission(), obj)