यदि आप 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)
ध्यान दें कि यह फ़ंक्शन हर बार कॉल किए जाने पर एक नया कनेक्शन खोलेगा और इसे बंद करने के लिए आप जिम्मेदार हैं। साथ ही, इसके द्वारा उपयोग किए जाने वाले एपीआई को शायद आंतरिक माना जाता है और बिना किसी सूचना के बदल सकता है।
कनेक्शन बंद करने के लिए, .close()
. को कॉल करना पर्याप्त होना चाहिए create_connection
. द्वारा ऑब्जेक्ट रिटर्न पर समारोह:
conn = create_connection()
# do some stuff
conn.close()