django中的多个数据库支持

cod*_*eak 10 python django database-connection

从一些论坛我开始知道Django在较低级别添加了多个数据库支持,但是尚未添加更高级别的api.

任何人都可以告诉我如何在Django中实现多个数据库连接.

有没有人知道Django何时完全/正式支持多个数据库连接.

Dav*_*ith 9

如果您只需要多个连接,则可以执行以下操作:

from django.db import load_backend
myBackend = load_backend('postgresql_psycopg2') # or 'mysql', 'sqlite3', 'oracle'
myConnection = myBackend.DatabaseWrapper({
    'DATABASE_HOST': '192.168.1.1',
    'DATABASE_NAME': 'my_database',
    'DATABASE_OPTIONS': {},
    'DATABASE_PASSWORD': "",
    'DATABASE_PORT': "",
    'DATABASE_USER': "my_user",
    'TIME_ZONE': "America/New_York",})
# Now we can do all the standard raw sql stuff with myConnection.
myCursor = myConnection.cursor()
myCursor.execute("SELECT COUNT(1) FROM my_table;")
myCursor.fetchone()
Run Code Online (Sandbox Code Playgroud)


Jon*_*nan 4

我最近看到的关于它的讨论是在提案:用于多数据库支持的用户友好的 API django-developers 线程中,该线程还提供了在原始消息中使用管理器来使用多个数据库的一种方法的示例。