首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Django使用与ORM数据库相同的连接查询MySQL数据库

问使用Django使用与ORM数据库相同的连接查询MySQL数据库
EN

Stack Overflow用户
提问于 2014-11-09 17:49:06
回答 1查看 7.4K关注 0票数 1

我有一个MySQL服务器,可以访问Django的数据库和我构建的名为"STATES“的单独数据库。我希望在我的国家数据库中查询表,并将结果(通常是几行)返回给Django以进行呈现,但我不知道最好的方法。

一种方法是直接使用Django。也许我可以将相关的表移到Django ORM数据库中?我对这样做感到紧张,因为美国数据库包含大型表(1千万行x100列),我担心会删除这些数据或以其他方式搞砸它(我对Django不太熟悉)。我还设想我应该避免为每个查询创建单独的连接,所以应该使用Django连接来查询状态表?

或者,我可以将状态数据库视为存在于完全不同的服务器上。我可以导入SQLAlchemy、创建一个连接、查询STATE.table、返回结果并关闭该连接。

哪一条更好,还是还有别的路?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-09 19:51:21

文档描述了如何通过向settings.py中的数据库添加另一个数据库("state_db")来连接多个数据库,然后我可以执行以下操作。

代码语言:javascript
复制
from django.db import connections
def query(lname)
    c = connections['state_db'].cursor()
    c.execute("SELECT last_name FROM STATE.table WHERE last_name=%s;",[lname])
    rows = c.fetchall()
    ...  

这比我预期的要慢,但我猜这是接近最优的,因为它使用开放连接和Django,而不增加额外的复杂性。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26831238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档