Django连接mariadb数据库

时间:2022-06-24
本文章向大家介绍Django连接mariadb数据库,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

一、安装mariadb

去官网下载相关版本安装,建议10.0以后版本

https://mariadb.org/

注:python3连接mariadb需要安装pymysql

pip install pymysql

二、配置django的setting文件

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'feiucms',
        'USER': 'root',
        'PASSWORD': '123456',
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

注释掉默认配置添加以上配置文件

在 Django 站点的 __init__.py 文件中添加如下两行:

import pymysql

pymysql.install_as_MySQLdb()

三、测试

python manage.py makemigrations

python manage.py migrate

1、django.db.utils.InternalError: (1366, "Incorrect string value"...)解决方案

出错原因:由于表记录中有汉字,而创建库或者创建表的时候没有设置中文字符集charset=utf8 解决方案:

方案一、更改库的默认字符集

创建库的时候指定默认字符集:create database 库名 default charset=utf8;

或者修改现有库的字符集:alter database 库名 character set utf8;

方案二、更改表的默认字符集,

创建表的时候指定默认字符集create table 表名 (...) default charset=utf8;

或者修改现有表的字符集alter table 表名 character set utf8;

2、 RuntimeWarning: DateTimeField Event.starttime received a naive datetime (2016-09-02 10:20:00) while time zone support is active.的错误。

错误原因:和UTC(世界标准时间)有关。

修改setting.py文件:USE_TZ = False