使用 Pyramid 框架的原始 MySQL 和 SQLAlchemy
我最近决定从现在开始在我的项目中开始使用 Pyramid(Python Web 框架)。
我还决定使用 SQLalchemy,并且我想使用原始 MySQL(个人原因)但仍保留 ORM 功能。
models.py 中代码的第一部分内容如下:
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
现在从这里开始,如何使用原始 MySQL 执行 CREATE TABLE 查询。
传统的 SQLalchemy 方式是:
class Page(Base):
__tablename__ = 'pages'
id = Column(Integer, primary_key=True)
name = Column(Text, unique=True)
data = Column(Text)
def __init__(self, name, data):
self.name = name
self.data = data
I have recently made a decision to start using the Pyramid (python web framework) for my projects from now on.
I have also decided to use SQLalchemy, and I want to use raw MySQL (personal reasons) but still keep the ORM features.
The first part of the code in models.py reads:
DBSession = scoped_session(sessionmaker(extension=ZopeTransactionExtension()))
Base = declarative_base()
Now from here how do I exectue a query for CREATE TABLE using raw MySQL.
the traditional SQLalchemy way would be:
class Page(Base):
__tablename__ = 'pages'
id = Column(Integer, primary_key=True)
name = Column(Text, unique=True)
data = Column(Text)
def __init__(self, name, data):
self.name = name
self.data = data
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
查看 sqlalchemy.text() 来了解参数化查询。
Have a look at
sqlalchemy.text()
for parametrized queries.我自己的偏见建议是使用 http://pypi.python.org/pypi/khufu_sqlalchemy设置 sqlalchemy 引擎。
然后在金字塔视图中您可以执行以下操作:
My own biased suggestion would be to use http://pypi.python.org/pypi/khufu_sqlalchemy to setup the sqlalchemy engine.
Then inside a pyramid view you can do something like:
在
views.py
中,如果要添加表单元素,请首先创建一个数据库对象。执行操作
并添加它
在您的代码片段中,为您想要添加的所有表单元素(例如代码片段中的名称和数据)
。最终代码类似于:
Inside the
views.py
if you are adding form elements, first create an object of the database.In your snippet, do it as
and add it with
for all the form elements you want to add e.g name and data from your snippet.
the final code would be similar to: