how does "get_new_connection" work in django ?

Hi guys, I am learning the django.db code.

I have a question about the “get_new_connection” function in django/db/backends/base/
I search the entire django project.

I can see the function definition of “get_new_connection”. but I cannot see where it is called.
anyone can tell where this function is called ?
$ git grep -i get_new_connection
django/contrib/gis/db/backends/spatialite/    def get_new_connection(self, conn_params):
django/contrib/gis/db/backends/spatialite/        conn = super().get_new_connection(conn_params)
django/db/backends/base/        """Return a dict of parameters suitable for get_new_connection."""
django/db/backends/base/    def get_new_connection(self, conn_params):
django/db/backends/base/        raise NotImplementedError('subclasses of BaseDatabaseWrapper may require a get_new_connection() method')
django/db/backends/base/        self.connection = self.get_new_connection(conn_params)
django/db/backends/mysql/    def get_new_connection(self, conn_params):
django/db/backends/oracle/    def get_new_connection(self, conn_params):
django/db/backends/postgresql/    def get_new_connection(self, conn_params):
django/db/backends/sqlite3/    def get_new_connection(self, conn_params):

It’s called here:

If you’re relying on GitHub code search to find references, it only shows one instance per file. It’s more reliable to use local grep or editor search.

see it . thanks.

I am a bit confusing about how a model method (like save()) get a db connection.
when django.db started, it will init the settings.DATABASES into a connections dict.
if I am using postgresql backend. and I call a
if I don’t specify the “using” parameter it will use “defalut” db. but how does the save() method reach to default db using the connections dict ?

I’m afraid I don’t have time to walk you through the code. This talk may be of interest for exploring the ORM:

You don’t need to know the full path to use the ORM!

you help me a lots !! thanks!!!