¿Cómo configurar Django usando pymysql como controlador?

Soy nuevo en Django. Me desperdició toda la tarde para configurar el motor MySQL. Estoy muy confundido sobre el motor de base de datos y el controlador de base de datos. ¿Es el motor también el conductor ? Todo el tutorial dijo que el MOTOR debería ser ‘django.db.backends.mysql‘, pero ¿cómo el MOTOR decide qué controlador se usa para conectar MySQL?

Cada vez que dice ‘django.db.backends.mysql’, lamentablemente no puedo instalar MySQLDb y mysqlclient, pero se ha instalado PyMysql y el conector oficial mysql 2.1.3 . ¿Cómo puedo configurar el controlador en PyMysql o mysql connector?

¡Muchas gracias!

  • OS: OS X Al Capitan
  • Python: 3.5
  • Django: 1.9

Esta pregunta aún no está resuelta: ¿Es el MOTOR también el CONDUCTOR ?

Puedes importar pymsql para que se presente como MySQLdb . Tendrá que hacer esto antes de ejecutar cualquier código django, así que ponga esto en su archivo manage.py

 import pymysql pymysql.install_as_MySQLdb() 

La respuesta corta es no, no son lo mismo.

El motor , en un contexto de Django, está en referencia a la tecnología RDBMS. El controlador es la biblioteca desarrollada para facilitar la comunicación con esa tecnología real cuando está en funcionamiento. Dejar que Django sepa qué motor usar le dice cómo traducir las funciones ORM desde una perspectiva de back-end. El desarrollador no ve un cambio en el código ORM pero Django sabrá cómo convertir esas acciones a un lenguaje que la tecnología entienda. Luego, el controlador realiza esas acciones (por ejemplo, selecciona, actualiza, elimina) y las envía a una instancia en ejecución para facilitar la acción.