我编写了一个 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/