में dict_cursor का उपयोग Django में एक कर्सर मैं क्या पाने के लिए:Django
from django.db import connection
cursor = connection.cursor()
मैं Django में एक dict कर्सर कैसे प्राप्त होता है, के बराबर -
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)
मिला। या मुझे सीधे पाइथन-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 बनाने के बीच एक प्रदर्शन अंतर है?
बस एक रोचक पक्ष का उपयोग करने के लिए स्वतंत्र महसूस ध्यान दें। अभिव्यक्ति (कर्सर। Xcription में x के लिए x.name) जनरेटर को एक सूची वस्तु नहीं बनाता है। "कर्सर में पंक्ति के लिए" लूप के पहले पुनरावृत्ति के बाद ऐसा जनरेटर समाप्त हो जाएगा। एकाधिक कोडों पर इस कोड का नमूना कार्य करने के लिए हमें स्क्वायर ब्रैकेट में राउंड ब्रैकेट को बदलकर कॉलम को पूर्व-प्राप्त करने की आवश्यकता है: [x.name कर्सर में x के लिए नाम] –