问题
在linux搭建django项目时出现了如下警告:
WARNINGS:
?: (mysql.W002) MariaDB Strict Mode is not set for database connection 'default'
HINT: MariaDB's Strict Mode fixes many data integrity problems in MariaDB, such as data truncation upon insertion, by escalating warnings into errors. It is strongly recommended you activate it. See: https://docs.djangoproject.com/en/3.1/ref/databases/#mysql-sql-mode
Operations to perform:
Apply all migrations: Num1, admin, auth, contenttypes, sessions
原因
settings.py里面的DATABASES中 ‘default’ 需要添加 OPTIONS选项(注意大小写)
DATABASES = {
# 'default': {
# 'ENGINE': 'django.db.backends.sqlite3',
# 'NAME': BASE_DIR / 'db.sqlite3',
# }
'default': {
'ENGINE': 'django.db.backends.mysql', # 数据库引擎
'NAME': 'my_project', # 数据库名称
'HOST': 'localhost', # 数据库地址,本机 ip 地址
'PORT': 3306, # 端口
'USER': 'root', # 数据库用户名
'PASSWORD': '', # 数据库密码
'OPTIONS': {
'init_command': 'SET sql_mode="STRICT_TRANS_TABLES"',
'charset': 'utf8mb4'
}
}