9.5 Connector/Python Django 後端

Connector/Python 包含一個 mysql.connector.django 模組,為 MySQL 提供 Django 後端。這個後端支援 MySQL 5.6 起新增的功能,例如時間資料類型的小數秒支援。

Django 設定

Django 使用名為 settings.py 的設定檔,其中包含一個名為 DATABASES 的變數(請參閱 https://django-docs.dev.org.tw/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 中新增的。