ठीक है, तो मैं बिल्कुल वही समस्या का सामना कर रहा था। Python3 को MySQL के साथ काम करने के लिए आप मौजूदा पुस्तकालयों के हिस्से को कैसे संशोधित कर सकते हैं, इस पर बहुत सारे सुझाव हैं, लेकिन मुझे उनमें से कोई भी 100% काम करने के लिए नहीं मिला। मैं Django और Python 3.3 के साथ काम करने के लिए आधिकारिक MySQL Python कनेक्टर बनाने में सक्षम नहीं था।
काम क्या था इसके बजाय PyMySQL लाइब्रेरी में स्विच कर रहा था। कुछ महीने पहले मैंने पहले ही कोशिश कर ली थी लेकिन यह मेरे लिए काम नहीं कर रहा था। अब, एक नया संस्करण है, 0.6.1 जो बॉक्स से बाहर काम करता है। तो, कुछ और विवरण:
मेरा वातावरण:OSX 10.9, Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL सर्वर 5.5 विंडोज़ पर
इसे कैसे काम करें:
-
PyMySQL संस्करण 0.6.1 स्थापित करें (https://github.com/PyMySQL/PyMySQL/ ):आप इसे या तो पाइप का उपयोग करके स्थापित कर सकते हैं, अर्थात:
pip install PyMySQL
या मैन्युअल रूप से पैकेज डाउनलोड करके; यह कैसे करना है, इस बारे में उनकी वेबसाइट पर एक अच्छा दस्तावेज़ है। -
अपना Django ऐप खोलें __init__.py और निम्न पंक्तियाँ चिपकाएँ:
import pymysql pymysql.install_as_MySQLdb()
-
अब, settings.py खोलें और सुनिश्चित करें कि आपकी DATABASE संपत्ति इस तरह दिखती है:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydb', 'USER': 'dbuser', 'PASSWORD': 'dbpassword', 'HOST': 'dbhost', 'PORT': '3306' } }
-
बस इतना ही, आपको
python manage.py syncdb
निष्पादित करने में सक्षम होना चाहिए तो अपने MySQL डीबी में प्रवेश करें; नीचे नमूना आउटपुट देखें:Creating tables ... Creating table django_admin_log Creating table auth_permission Creating table auth_group_permissions ... ... Creating table socialaccount_socialtoken You just installed Django's auth system, which means you don't have any superusers defined. ...