MySQL Connector/Python 发行说明
Connector/Python 包含一个 mysql.connector.django
模块,它为 MySQL 提供了一个 Django 后端。此后端支持从 MySQL 5.6 开始发现的新功能,例如对时间数据类型的小数秒支持。
Django 配置
Django 使用一个名为 settings.py
的配置文件,其中包含一个名为 DATABASES
的变量(参见 https://docs.django.ac.cn/en/1.5/ref/settings/#std:setting-DATABASES)。要将 Django 配置为使用 Connector/Python 作为 MySQL 后端,可以使用 Django 手册中的示例作为基础。
DATABASES = {
'default': {
'NAME': 'user_data',
'ENGINE': 'mysql.connector.django',
'HOST': '127.0.0.1',
'PORT': 3306,
'USER': 'mysql_user',
'PASSWORD': 'password',
'OPTIONS': {
'autocommit': True,
'use_oure': True,
'init_command': "SET foo='bar';"
},
}
}
可以使用 OPTIONS
添加更多连接参数。
对 MySQL 功能的支持
Django 可以启动 MySQL 客户端应用程序 mysql。当 Connector/Python 后端执行此操作时,它会安排 sql_mode
系统变量在启动时设置为 TRADITIONAL
。
某些 MySQL 功能根据服务器版本启用。例如,当连接到 MySQL 5.6.4 或更高版本的服务器时,会启用对小数秒精度的支持。Django 的 DateTimeField
存储在定义为 DATETIME(6)
的 MySQL 列中,TimeField
存储为 TIME(6)
。有关小数秒支持的更多信息,请参见 时间值中的小数秒。
支持使用自定义类进行数据类型转换,作为 mysql.connector.django.base.DjangoMySQLConverter 的子类。此支持是在 Connector/Python 8.0.29 中添加的。