Django - 将 sqlalchemy 与只读数据库结合使用

发布于 2024-09-16 08:35:36 字数 741 浏览 6 评论 0原文

我正在使用 Django 很好地显示我只拥有/想要读取访问权限的 Oracle 数据库中的统计信息等。因为数据库具有复合主键,所以我没有使用 Django 的 ORM 层,而是使用 SQLAlchemy。我唯一安装的应用程序是我自己的,并且在 MIDDLEWARE_CLASSES 中,我只使用 CommonMiddleware

基于这个我有单个应用程序访问数据库并且运行良好。我将我的 sqlalchemy 引擎、会话和 orm.mapper 全部放在 models.py 中,然后在我的 views.py 中,我只导入会话和已映射的类。

但是现在我想制作第二个应用程序,显然我应该将 models.py 中的内容移到更通用的地方,以便它适用于整个项目,而不仅仅是一个应用程序。

我应该把它放在哪里?我应该编写某种非常简单的会话中间件吗?或者是否有一些文件只在服务器启动时执行一次?由于我从不写入数据库,我是否应该尝试使所有请求都属于同一个会话?

我是否应该在项目库中创建随机文件(例如 connect.py)并将其导入设置文件中?

目前我正在使用内置服务器,但我希望在某个时候使用 apache + mod_wsgi。

I'm using Django to nicely display stats etc from an Oracle database that I only have/want read access to. Because the database has composite primary keys I'm not using Django's ORM layer and I'm using SQLAlchemy instead. The only installed apps I have are my own, and of the MIDDLEWARE_CLASSES I'm only using CommonMiddleware.

Based on this I have a single app accessing the database and working well. I put my sqlalchemy engine, session and orm.mapper all in models.py then in my views.py I just import the session and the classes that have been mapped.

However now I want to make a second app and obviously I should move the stuff in models.py somewhere more generic so that it applies to the whole project, not just one app.

Where should I put it? Should I write some kind of very simple session middleware? Or is there some file that is only executed once when the server starts? Since I never write to the database, should I try and make all requests belong to the same session?

Should I just make random file in the project base like connect.py and import it into the settings file?

Currently I am using the built-in server but I will be looking to use probably apache + mod_wsgi at some point.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文