2007-10-08

SqlSoup: SQLAlchemyからSQLを発行する

SQLAlchemyからSQLを直接呼び出すもうちょっといいのではないかと思った方法:


from sqlalchemy.ext.sqlsoup import SqlSoup

db = SqlSoup(metadata)


上のコードをtg-admin shellの中で実行すればdbオブジェクトが手に入る。


r = db.bind.execute(text('select * from tg_user where user_name = :name'), name='dijohn')
r = r.fetchall()
print r


textはSQLAlchemyの関数。
変数展開を安全にやってくれるので使ったほうがいいと思う。(name=';'とかされてもOK)

r[0].user_nameとかすればRDBの行にアクセスできてしまう。
うむ。

0 件のコメント: