我正在嘗試構建一個基於Django的網頁(我知道python,並希望開發一對基於Web的應用程序)。此頁面的目標是顯示來自幾個不同數據庫的數據,這些數據庫只能讀取。基本上,它是儀表板類型的幾個關鍵的事情。如何使用Django查詢多個數據庫類型?
我已經構建了一個Sqlite數據庫來存放應用程序的Django設置。儘管如何從這裏分支?我想查詢一個Oracle數據庫和一個MySQL數據庫?
我可以單獨詢問他們使用這樣的事情在一個合適的視圖:
def test(request):
from django.db import load_backend
myBackend = load_backend('django.db.backends.oracle') # or 'mysql', 'sqlite3', 'oracle'
myConnection = myBackend.DatabaseWrapper({
'HOST': 'myhost',
'NAME': 'mysid',
'OPTIONS': {},
'PASSWORD': "mypass",
'PORT': "1521",
'USER': "myuser",
'TIME_ZONE': "America/Chicago"})
# Now we can do all the standard raw sql stuff with myConnection.
myCursor = myConnection.cursor()
myCursor.execute("SELECT COUNT(1) FROM schema.table;")
return HttpResponse("%s." % myCursor.fetchone())
在模板我可以顯示這個數。但是,這似乎是不正確的,基於我如何查詢Sqlite數據庫。
我想使用數據模型。當我正在閱讀數據時,這是否適合使用?該帳戶不具有對oracle/mysql表的寫入權限。
有沒有辦法爲現有表自動生成這些模型?其中一些表格在列數上相當大,如果可能的話,我寧願自動創建以防止我的錯誤。