python - 在 flaskext.mysql 中寻找 dictcursor 的等价物

标签 python mysql flask

我编写了一个 Python Flask 应用程序,最初使用 MySQLdb 访问 MySQL。后来我出于同样的目的切换到 flaskext.mysql,但是现在当我使用这个模块时,我看不到如何获取字典结构游标。

当我使用 MySQLdb 模块时,我使用以下行打开基于字典的游标 -

import MySQLdb as mdb
con = mdb.connect('localhost','root','root','transport')
    with con:
        cur = con.cursor(mdb.cursors.DictCursor)

现在我正在尝试对 flaskext.mysql 做同样的事情,我的当前代码如下所示 -

from flaskext.mysql import MySQL
cur = mysql.get_db().cursor()

我应该为光标对象提供什么以获得相同类型的光标?

最佳答案

我认为@alecxe 在他的最后一个代码块中暗示了这一点,但你可以使用 一个带有 Flask 扩展名的 DictCursor,如下所示:

除了 Flask MySQL 扩展,您还需要 DictCursor

from flaskext.mysql import MySQL
from pymysql.cursors import DictCursor

然后在创建MySQL对象的时候简单的加上参数cursorclass=DictCursor:

mysql = MySQL(cursorclass=DictCursor)

我在我自己的 Flask 应用程序中使用它,它似乎按预期工作

注意:我在项目 here 的 Github 存储库问题队列中的评论中发现了这个解决方案。 .我真希望图书馆文档能多写几行。

关于python - 在 flaskext.mysql 中寻找 dictcursor 的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38980044/

相关文章:

Python ejabberd Auth 脚本不响应数据库中的更改

python - 通过 session 将两个模块路由到 Flask 中的同一个 URL

python - 如何正确地将每一大块数据保存为 Pandas 数据框并将它们相互连接

python - 属性错误 : 'str' object has no attribute 'loads' , json.loads()

python - 尝试从 arelle 模块导入 Cntlr 时出现语法错误

java - 如何在windows上使用java导入mysql转储文件到MySQL服务器(7)

php - 每天存储数百万条记录并可出于统计目的进行分组的数据的最佳方法是什么?

Flask 基于两个或多个路由渲染相同的模板?

python - Azure Flask 部署 - WSGI 接口(interface)

javascript - Django 的 CSRF 验证失败,尽管 Firebug 说 cookies 选项卡下有一个 csrftoken。为什么?