Django - 将 sqlalchemy 与只读数据库结合使用
我正在使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论