Używanie dict_cursor w django
Aby uzyskać kursor w django, robię:
from django.db import connection
cursor = connection.cursor()
Jak uzyskać kursor dict w django, odpowiedniku -
import MySQLdb
connection = (establish connection)
dict_cursor = connection.cursor(MySQLdb.cursors.DictCursor)
Czy można to zrobić w django? Kiedy próbowałemcursor = connection.cursor(MySQLdb.cursors.DictCursor)
mamException Value: cursor() takes exactly 1 argument (2 given)
. Czy muszę połączyć się bezpośrednio ze sterownikiem python-mysql?
Dokumenty django sugerują użyciedictfetchall
:
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()
]
Czy istnieje różnica w wydajności pomiędzy używaniem tego a tworzeniem dict_cursor?