我们正在尝试设置一个使用MySQL而不是SQLAlchemy的Pyramid项目。
我对Pyramid / Python的体验有限,所以我希望能在网上找到一个指南。不幸的是,我无法找到任何东西来推动我们朝着正确的方向发展。大多数搜索结果都是针对尝试使用SQLAlchemy的原始SQL / MySQL命令的人(许多是重新发布的链接)。
任何人都有这方面的有用教程吗?
答案 0 :(得分:10)
金字塔在其基础上并不假设您将使用任何一个特定的库来帮助您保持持久性。为了使事情变得简单,那么,对于那些希望使用SQLALchemy等库的人来说,Pyramid库包含Scaffolding,它本质上是一些基本站点的自动生成代码,还有一些新增功能可以设置像SQLAlchemy或特定路由策略的项目。金字塔文档应该能够lead you through creating a new project using the "pyramid_starter" scaffolding,它可以在没有SQLAlchemy的情况下设置基本站点。
这将为您提供设置视图所需的基础知识,但接下来您将需要添加代码以允许您连接到数据库。幸运的是,由于您的站点只是python代码,因此学习如何在Pyramid中使用MySQL只需learning how to use MySQL in Python,然后在Pyramid项目中执行完全相同的步骤。
请记住,即使您更喜欢使用原始SQL查询,您仍可能在SQLAlchemy中找到一些有用的东西。在它的基础级别,SQLAlchemy简单地包装了DBAPI调用并添加了有用的功能,如连接池。 ORM功能实际上是对较低级SQLAlchemy工具集的一个重要补充。
答案 1 :(得分:5)
sqlalchemy不会假设您将使用它的orm。如果你想使用普通的sql,你可以这样做,只有sqlalchemy已经提供了。例如,如果您遵循recipe in the cookbook,则可以访问sqlalchemy会话对象request.db
,您的处理程序将如下所示:
def someHandler(request):
rows = request.db.execute("SELECT * FROM foo").fetchall()
答案 2 :(得分:4)
Quick Tutorial显示使用SQL但不使用SQLAlchemy的Pyramid应用程序。它使用SQLite,但应该很容易适应MySQL。