Чтобы получить курсор в django, выполните следующие действия:
from django.db import connection
cursor = connection.cursor()
Как мне получить курсор dict в django, эквивалент -
import MySQLdb
connection = (establish connection)
dict_cursor = connection.cursor(MySQLdb.cursors.DictCursor)
Есть ли способ сделать это в django? Когда я попробовал cursor = connection.cursor(MySQLdb.cursors.DictCursor)
, я получил Exception Value: cursor() takes exactly 1 argument (2 given)
. Или мне нужно напрямую подключиться к драйверу python-mysql?
В документах django предлагается использовать dictfetchall
:
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()
]
Есть ли разница в производительности между этим и созданием dict_cursor?