【问题标题】:How to use the Django ORM for creating an interface like MySQL admin that connects to multiple databases如何使用 Django ORM 创建一个连接多个数据库的接口,如 MySQL admin
【发布时间】:2014-09-14 17:28:30
【问题描述】:

所以我是 Django 开发的新手,我开始使用 cx_Oracle 和 MySQLdb 库连接到 Oracle 和 MySQL 数据库。这个想法是构建一个连接到多个数据库并支持 CRUD 操作的接口。用户使用相应数据库的 db 凭据登录。我尝试不使用 Django ORM(我知道你可能会问这有什么意义),但这对我来说仍然是一个学习努力。如果没有 Django ORM(或与此相关的任何 ORM),我在跨多个请求(尝试使用会话)保持数据库连接时遇到了麻烦。我需要一些指导来了解设计这个的最佳方法。

【问题讨论】:

    标签: django mysql-python django-orm cx-oracle


    【解决方案1】:

    Django 使用连接池(即少数请求共享相同的数据库连接)。当然,您可以编写一个中间件来关闭并重新初始化每个请求的连接,但我不能保证您不会创建竞争条件,而且正如您所说,这样做没有意义。

    如果你想做自动化的多数据库CRUD,你最好使用一些其他的框架(可能是Flask或Bottle),因为Django在很多方面都针对预先设置好的数据方案的内容站点进行了优化。

    而且,它不是很简单的应用程序,而且可能根本不是学习一些新技术的好方法。尝试从更简单的开始,也许吧。

    【讨论】:

    • 你会推荐使用 SQLAlchemy 吗?
    • 我不确定任何 ORM 是否适合 tat 任务。实际上,这些系统只是从表中获取原始数据,它们不需要任何额外的逻辑或表示抽象。
    猜你喜欢
    • 2018-06-28
    • 2021-08-24
    • 1970-01-01
    • 1970-01-01
    • 2010-09-21
    • 2023-03-11
    • 2017-06-21
    • 1970-01-01
    相关资源
    最近更新 更多