Usando o dict_cursor no django
Para pegar um cursor no django eu faço:
from django.db import connection
cursor = connection.cursor()
Como eu poderia obter um cursor dict no django, o equivalente a -
import MySQLdb
connection = (establish connection)
dict_cursor = connection.cursor(MySQLdb.cursors.DictCursor)
Existe uma maneira de fazer isso no Django? Quando eu tenteicursor = connection.cursor(MySQLdb.cursors.DictCursor)
eu tenho umException Value: cursor() takes exactly 1 argument (2 given)
. Ou eu preciso conectar diretamente com o driver python-mysql?
Os docs do django sugerem usardictfetchall
:
def dictfetchall(cursor):
"Returns all rows from a cursor as a dict"
desc = cursor.description
return [
dict(zip([col[0] for col in desc], row))
for row in cursor.fetchall()
]
Existe uma diferença de desempenho entre usar isso e criar um dict_cursor?