Resulta que MySQLdb tiene la fea manía de devolver los resultados en una tupla (igual que PHP en realidad), en vez de devolver un dict que tiene más sentido. Esto pasa porque así se comporta el cursor que db.cursor() devuelve por defecto. Afortunadamente hay más cursores disponibles, entre ellos el DictCursor, pero yo siempre me olvido de como usarlos. Así que me anoto esto aquí para recordarlo.

Se puede hacer de dos maneras, una es por cursor individual:

import MySQLdb
db = MySQLdb.connect(...)
cursor = db.cursor(cursorclass=MySQLdb.cursors.DictCursor)

O se puede cambiar el tipo de cursor que db.cursor() devuelve por defecto:

import MySQLdb
db = MySQLdb.connect(...)
db.cursorclass = MySQLdb.cursors.DictCursor
cursor = db.cursor()
 

One Response to Cursores con MySQLdb en Python

  1. Alex says:

    ahmmmmmmmmmm… ^^

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Set your Twitter account name in your settings to use the TwitterBar Section.