code: def _get_connection(self):
          
          if self._connection is None:
              uri = self.settings.SERVER_URI
              if callable(uri):
                  if func_supports_parameter(uri, "request"):
                      uri = uri(self._request)
                  else:
                      warnings.warn(
                          "Update AUTH_LDAP_SERVER_URI callable %s.%s to accept "
                          "a positional `request` argument. Support for callables "
                          "accepting no arguments will be removed in a future "
                          "version." % (uri.__module__, uri.__name__),
                          DeprecationWarning,
                      )
                      uri = uri()
  
              self._connection = self.backend.ldap.initialize(uri, bytes_mode=False)
  
              for opt, value in self.settings.CONNECTION_OPTIONS.items():
                  self._connection.set_option(opt, value)
  
              if self.settings.START_TLS:
                  logger.debug("Initiating TLS")
                  self._connection.start_tls_s()
  
          return self._connection
docs: Returns our cached LDAPObject, which may or may not be bound.