【发布时间】:2010-12-18 04:28:17
【问题描述】:
是的,非常基本的问题。 我已经使用 declarative_base 成功创建了我的数据库,并且也可以对数据库执行插入操作。我只是有几个关于 SqlAlchemy sql 语句的问题。
我创建了一个名为 Location 的表。
一些问题/问题(见下面的代码):
对于语句“打印行”,我必须指定要输出的每个列名。即“打印 row.name、row.lat 等”为什么? (否则打印语句输出
"<classname.Location at <...>>"此外,与数据库交互和执行查询(选择、插入、更新等)的首选方式是什么 - 似乎有很多选项:例如使用 sqlalchemy.orm.select,或engine.text
(<sql query>).execute().fetchall(),甚至conn.execute(<select>).选项都很棒,但现在它们都让我感到困惑。
非常感谢您的提示!
这是我的代码:
from sqlalchemy import create_engine
from sqlalchemy.sql import select
from location_db_setup import *
db_path = "sqlite:////volumes/users/shared/programming/python/web/map.db"
engine = create_engine(db_path, echo= True)
Session = sessionmaker(bind= engine)
session = Session()
session.query(Location).fetchall()
for row in locations:
print row
【问题讨论】:
标签: python orm sqlalchemy