Ok, entonces estaba experimentando exactamente el mismo problema. Hay muchas sugerencias sobre cómo puede modificar parte de las bibliotecas existentes para hacer que Python3 funcione con MySQL, pero no encontré ninguna que funcionara al 100%. No pude hacer que el conector MySQL Python oficial funcione con Django y Python 3.3.
Lo que funcionó fue cambiar a la biblioteca PyMySQL. Hace unos meses ya lo probé pero entonces no me funcionó. Ahora, hay una nueva versión, 0.6.1, que funcionó de inmediato. Entonces, algunos detalles más:
Mi entorno:OSX 10.9, Python 3.3.3, Django 1.6.1, MyPySQL 0.6.1, MySQL Server 5.5 en Windows
Cómo hacer que funcione:
-
Instale PyMySQL versión 0.6.1 (https://github.com/PyMySQL/PyMySQL/ ):puede instalarlo usando pip, es decir:
pip install PyMySQL
o descargando manualmente el paquete; hay una buena documentación en su sitio web sobre cómo hacerlo. -
Abra su aplicación Django __init__.py y pega las siguientes líneas:
import pymysql pymysql.install_as_MySQLdb()
-
Ahora, abre settings.py y asegúrese de que su propiedad DATABASE se vea así:
DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', 'NAME': 'mydb', 'USER': 'dbuser', 'PASSWORD': 'dbpassword', 'HOST': 'dbhost', 'PORT': '3306' } }
-
Eso es todo, debería poder ejecutar
python manage.py syncdb
así que inicie su base de datos MySQL; vea el resultado de muestra a continuación: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. ...