如何使用pymysql作为驱动程序配置Django?

时间:2016-01-13 21:50:39

标签: python mysql django pymysql

我是Django的新手。整个下午我都没有配置MySQL引擎。我对数据库引擎和数据库驱动程序非常困惑。 引擎也是驱动程序吗?所有教程都说引擎应该是“django.db.backends.mysql”,但引擎是如何决定用哪个驱动程序连接MySQL的呢?

每次它都说'django.db.backends.mysql',遗憾的是我无法安装MySQLDb和mysqlclient,但是PyMysql和官方的 mysql连接器2.1.3 已安装。我怎样才能将驱动程序设置为PyMysql或mysql连接器?

非常感谢!

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

这个问题尚未解决: 引擎也是 DRIVER 吗?

2 个答案:

答案 0 :(得分:58)

You can import pymsql so it presents as MySQLdb。在运行任何django代码之前,您需要执行此操作,因此请将其放在manage.py文件中

import pymysql
pymysql.install_as_MySQLdb()

答案 1 :(得分:0)

简短的回答是不,它们是不一样的。

在Django上下文中,引擎是指RDBMS技术。 驱动程序是为在启动和运行时促进与该实际技术的通信而开发的库。让Django知道要使用的引擎告诉它如何从后端的角度转换ORM函数。开发人员看不到ORM代码有任何变化,但是Django将知道如何将这些动作转换为技术可以理解的语言。然后,驱动程序执行这些操作(例如选择,更新,删除),并将其发送到正在运行的实例中,以方便执行该操作。