9.2 连接器/Python Django 后端

Connector/Python 包含一个mysql.connector.django为 MySQL 提供 Django 后端的模块。此后端支持 MySQL 5.6 中的新功能,例如对时间数据类型的小数秒支持。

Django 配置

Django 使用名为的配置文件 settings.py,其中包含一个名为 DATABASES(参见 https://docs.djangoproject.com/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。当连接器/Python 后端执行此操作时,它会安排在启动时 sql_mode设置系统变量。TRADITIONAL

某些 MySQL 功能根据服务器版本启用。例如,从 MySQL 5.6.4 或更高版本连接到服务器时启用对小数秒精度的支持。Django 的 DateTimeField存储在定义为 的 MySQL 列中DATETIME(6),并 TimeField存储为 TIME(6). 有关小数秒支持的更多信息,请参阅时间值中的小数秒。

作为mysql.connector.django.base.DjangoMySQLConverter 的子类,支持使用自定义类进行数据类型对话 。此支持是在 Connector/Python 8.0.29 中添加的。