从MySQL 5.7开始,在MySQL 5.6刚安装时,sql_mode选项的默认值包含STRICT_TRANS_TABLES。当数据在插入时被截断时,该选项会将警告升级为错误,因此Django强烈建议激活MySQL的严格模式,以防止数据丢失(STRICT_TRANS_TABLES或STRICT_ALL_TABLES)。
如果需要自定义SQL模式,可以像设置其他MySQL选项一样设置sql_mode变量:或者在配置文件中设置,或者在数据库配置的选项部分设置“init_command”:“set sql_mode='STRICT_TRANS_TABLES'”。
DATABASES = { 'OPTIONS': { 'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"', } }