django数据库配置,即数据库分库分表
一 Django的数据库配置
(一)修改settings.py文件关于数据库的配置:
Django默认使用sqlite:
再添加一个数据库:
如果想要使用mysql,则进行如
如果是在Windows下进行开发需要在项目文件下的__init__.py中配置
显示SQL语句 ,ORM是高层的面向对象的操作,转换为低层的SQL语句,如果想在终端打印对应的SQL语句,可以在setting.py中加上日志记录
(二)、修改好数据库配置之后,在models.py文件里创建表,之后进行数据库迁移工作:
二、读写分离
(一)手动读写分离
- 在使用数据库时,通过.using(db_name)来手动指定要使用的数据库
- 缺点:在大量的对数据库进行操作之后,此种方法繁琐
(二)自动读写分离
通过配置数据库路由,来自动实现,这样就不需要每次读写都手动指定数据库了。数据库路由中提供了四个方法。这里这里主要用其中的两个:db_for_read()决定读操作的数据库,def db_for_write()决定写操作的数据库。
定义Router类
新建myrouter.py脚本,定义Router类:
配置Router
在settings.py中指定DATABASE_ROUTERS
网站的读的性能通常更重要,因此,可以多配置几个数据库,并在读取时,随机选取,比如:一主多从方案
分库分表
在大型web项目中,常常会创建多个app来处理不同的业务,如果希望实现app之间的数据库分离,比如app01走数据库db1,app02走数据库