Python Flask:将数据库行作为字典获取
我正在使用Flask MySQLDb构建一个应用程序,并想知道如何将数据库行作为字典返回(比如PHP的FETCH_ASSOC)。cursor类的默认Python Flask:将数据库行作为字典获取,python,flask,Python,Flask,我正在使用Flask MySQLDb构建一个应用程序,并想知道如何将数据库行作为字典返回(比如PHP的FETCH_ASSOC)。cursor类的默认fetchall()方法返回一个元组,在底层库的 到目前为止,我一直在执行以下格式的代码,但获得以列名作为键的dict将非常有帮助: g.cursor.execute('SELECT email, password FROM users WHERE email = %s', [request.form['email']]) row =
fetchall()
方法返回一个元组,在底层库的
到目前为止,我一直在执行以下格式的代码,但获得以列名作为键的dict将非常有帮助:
g.cursor.execute('SELECT email, password FROM users WHERE email = %s', [request.form['email']])
row = g.cursor.fetchall()
您可以在connect方法中使用
cursorclass
参数,并指定创建光标的时间
请看这里。简言之:
import MySQLdb
from MySQLdb.cursors import DictCursor
conn = MySQLdb.connect(cursorclass=DictCursor)
g.cursor = conn.cursor()
只需添加行
app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
查看SQLAlchemy:)@Trent我知道!SQLAlchemy是最好的,但目前我的学习曲线很浅,因为我的应用程序非常小。这里的问题是,我的代码在flask mysqldb模块中使用MySQL类,而示例直接使用mysqldb。有区别吗?是否存在兼容性问题(我使用的是3.4)?让我恼火的是,我在网络上的任何地方都找不到这个该死的类的源代码(我仍然很困惑(糟糕的文档、极端的碎片化等等)但至少这是预期的效果。非常感谢!似乎我必须直接使用
mysqlclient
,因为这是flask mysqldb
的基础。似乎你可以在flask配置中设置MYSQL\u CURSORCLASS
,看得很好,但它可以接受什么可能的值?可能是DictCursor
?不确定,哈文“我没有用过我想要的东西。同样,我想要的东西也是有意义的。这应该在文档页面中。”。