sql >> Database >  >> RDS >> Mysql

Hoe maak je een nieuwe databaseverbinding in django

Als je de django.db module, kunt u zien dat django.db.connection is een proxy voor django.db.connections[DEFAULT_DB_ALIAS] en django.db.connections is een instantie van django.db.utils.ConnectionHandler .

Als je dit samenvoegt, zou je een nieuwe verbinding als volgt moeten kunnen krijgen:

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)

Houd er rekening mee dat deze functie elke keer dat deze wordt aangeroepen een nieuwe verbinding opent en dat u verantwoordelijk bent voor het sluiten ervan. De API's die het gebruikt, worden waarschijnlijk als intern beschouwd en kunnen zonder kennisgeving worden gewijzigd.

Om de verbinding te sluiten, zou het voldoende moeten zijn om .close() . aan te roepen op het object retour door de create_connection functie:

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



  1. MySQL-volgorde per veld in Eloquent

  2. Hoe alle fouten van alle SSIS-pakketten in een oplossing te krijgen?

  3. Waar kan ik mysql jdbc jar downloaden?

  4. PHP SQL:hoe u gegevens vanuit één html-formulier naar meerdere databases kunt opslaan OF hoe u automatisch gegevens van de ene database naar een andere database kopieert