我正在尝试构建一个基于 django 的网页(我知道 python 并想开发几个基于 web 的应用程序)。此页面的目标是显示来自我只有读取权限的几个不同数据库的数据。基本上,它是几个关键事物的仪表板类型视图。
我已经构建了一个 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 表的写入权限。
有没有办法为现有表自动生成这些模型?其中一些表在列数方面相当大,如果可能的话,我更愿意自动创建以防止我的错误。