Flask SQLAlchemy原生sql的使用方法

Flask 1936 浏览

| db.session.execute()

    学习了几天flask,避免不了数据库操作。sqlalchemy的操作有时候用的不习惯,也有的时候查询sql比较复杂,就想用原生的sql来写了,原生sql写法:

sql = "select * from `user`";
result = db.session.execute(sql)
print(result)  # <sqlalchemy.engine.result.ResultProxy object at 0x033E63D0>

    开始直接这样写,一直报错,后面看到后面还要接方法,也是醉了,所以如下:

sql = "select * from `user`";
result = db.session.execute(sql).fetchone()  # 单条
print(result)  # (1, 'test3@example.com', '1234567890', 'Test')
print(result.name)  # Test

result = db.session.execute(sql).fetchall()  # 全部
print(result)  # [(1, 'test1@example.com', '1234567890', 'Test'),(2, 'test2@example.com', '1234567890', 'Tes1t')]

    返回的结果不是字典我也很绝望啊。

|  版权声明:本文为博主原创文章,转载请注明出处。