Python Flask:获取数据库行作为字典

ank*_*981 3 python flask

我正在使用 Flask MySQLDb 构建一个应用程序,并想知道如何将数据库行作为字典返回(如 PHP 的 FETCH_ASSOC)。fetchall()游标类的默认方法返回一个元组,并且在底层库的文档中没有关于返回 dict 的内容。

到目前为止,我一直在执行以下格式的代码,但是获得一个以列名作为键的字典真的很有帮助:

g.cursor.execute('SELECT email, password FROM users WHERE email = %s', [request.form['email']])
        row = g.cursor.fetchall()
Run Code Online (Sandbox Code Playgroud)

Dav*_*wii 10

只需添加行

app.config['MYSQL_CURSORCLASS'] = 'DictCursor'
Run Code Online (Sandbox Code Playgroud)


laz*_*zy1 4

cursorclass您可以在 connect 方法中使用参数,并在创建游标时指定DictCursor 。

例如,请参见此处。简而言之:

import MySQLdb
from MySQLdb.cursors import DictCursor

conn = MySQLdb.connect(cursorclass=DictCursor)
g.cursor = conn.cursor()
Run Code Online (Sandbox Code Playgroud)

  • 我的问题是我的代码使用了flask-mysqldb模块中的MySQL类,而示例直接使用了MySQLdb。有区别吗?有兼容性问题吗(我用的是 3.4)?令我愤怒的是,我无法在网络上的任何地方找到这个地狱类的源代码。:( (2认同)
  • 可能是“DictCursor”?不确定,没有使用过flask-mysql (2认同)