Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да създадете нова връзка с база данни в django

Ако погледнете django.db модул, можете да видите този django.db.connection е прокси за django.db.connections[DEFAULT_DB_ALIAS] и django.db.connections е екземпляр на django.db.utils.ConnectionHandler .

Събирайки това заедно, трябва да можете да получите нова връзка по следния начин:

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)

Имайте предвид, че тази функция ще отваря нова връзка всеки път, когато бъде извикана и вие сте отговорни за затварянето й. Освен това API, които използва, вероятно се считат за вътрешни и може да се променят без предизвестие.

За да затворите връзката, трябва да е достатъчно да извикате .close() на обекта, върнат от create_connection функция:

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Достъп до отдалечена база данни на mysql от командния ред

  2. Всяка команда в mysql, еквивалентна на автоматичното проследяване на Oracle за промяна на производителността

  3. MySQL:IF в съхранена процедура

  4. вграждане на mysql база данни в java приложение

  5. Има ли по-добър начин да получите данни от две таблици наведнъж със Sphinx/MySQL?