sql >> Databáze >  >> RDS >> Mysql

Jak vytvořit nové připojení k databázi v django

Pokud se podíváte na django.db modul, můžete vidět, že django.db.connection je proxy pro django.db.connections[DEFAULT_DB_ALIAS] a django.db.connections je instancí django.db.utils.ConnectionHandler .

Když to dáme dohromady, měli byste být schopni získat nové připojení, jako je toto:

from django.db import connections
from django.db.utils import DEFAULT_DB_ALIAS, load_backend
    

def create_connection(alias=DEFAULT_DB_ALIAS):
    connections.ensure_defaults(alias)
    connections.prepare_test_settings(alias)
    db = connections.databases[alias]
    backend = load_backend(db['ENGINE'])
    return backend.DatabaseWrapper(db, alias)

Všimněte si, že tato funkce otevře nové připojení pokaždé, když je zavolána, a vy jste odpovědní za jeho uzavření. Rozhraní API, která používá, jsou pravděpodobně považována za interní a mohou se bez upozornění změnit.

K uzavření spojení by mělo stačit zavolat .close() na objekt se vrátí pomocí create_connection funkce:

conn = create_connection()
# do some stuff
conn.close()



  1. Escapování znaku ampersand v řetězci SQL

  2. SQL Sloučení více záznamů do jednoho záznamu

  3. Jak zkontrolovat tabulkový prostor v Oracle SQL Developer?

  4. PHP Není vybrána žádná databáze