我是Django的新手。整个下午我都没有配置MySQL引擎。我对数据库引擎和数据库驱动程序非常困惑。 引擎也是驱动程序吗?所有教程都说引擎应该是“django.db.backends.mysql”,但引擎是如何决定用哪个驱动程序连接MySQL的呢?
每次它都说'django.db.backends.mysql',遗憾的是我无法安装MySQLDb和mysqlclient,但是PyMysql和官方的 mysql连接器2.1.3 已安装。我怎样才能将驱动程序设置为PyMysql或mysql连接器?
非常感谢!
这个问题尚未解决: 引擎也是 DRIVER 吗?
答案 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将知道如何将这些动作转换为技术可以理解的语言。然后,驱动程序执行这些操作(例如选择,更新,删除),并将其发送到正在运行的实例中,以方便执行该操作。