多个mysql数据库联接_django连接多个mysql数据库

1、定义数据库在django项目中, 一个工程中存在多个APP应用很常见;有时候希望不同的APP连接不同的数据库,这个时候需要建立多个数据库连接。在Django的setting中使用DATABASES设置定义数据库,可以将数据库映射到特定的别名字典中;DATABASES定义的是要给嵌套字典,该设置必须配置default默认数据库。默认使用SQLite进行单一数据库设置:DATABASES = {'...
摘要由CSDN通过智能技术生成

1、定义数据库

在django项目中, 一个工程中存在多个APP应用很常见;有时候希望不同的APP连接不同的数据库,这个时候需要建立多个数据库连接。

在Django的setting中使用DATABASES设置定义数据库,可以将数据库映射到特定的别名字典中;DATABASES定义的是要给嵌套字典,该设置必须配置default默认数据库。默认使用SQLite进行单一数据库设置:

48304ba5e6f9fe08f3fa1abda7d326ab.png

DATABASES = {

'default': {

'ENGINE': 'django.db.backends.sqlite3',

'NAME': 'mydatabase',

}

}

48304ba5e6f9fe08f3fa1abda7d326ab.png

如不使用默认数据库定义可以将默认配置为空字典形式:

'default':{}

(1) DATABASES内部选项:

ATOMIC_REQUESTS:为True时数据库事务包装每个视图,默认为False

AUTOCOMMIT:为False时禁用Django事务管理,默认为True

ENGINE:设置数据库类型

'django.db.backends.postgresql'

'django.db.backends.mysql'

'django.db.backends.sqlite3'

'django.db.backends.oracle'

HOST:指定连接的主机名或ip地址,如果使用(‘/’)正斜杠开头则通过套接字连接:

'HOST':'127.0.0.1' #TCP套接字连接

'HOST':'/var/run/mysql' #UNIX套接字

NAME:制定使用的数据库名,对于SQLite它是指定数据库文件的路径,在window上也要使用正斜杠。

'NAME':'databasename'

'NAME':'C:/user/mysite/sqlite3.db'

CONN_MAX_AGE:数据库连接的生命周期,默认为0请求结束时关闭数据库,设置为None无限持久连接。

OPTIONS:链接到数据库时使用的额外参数,可用参数因数据库类型而异。

'OPTIONS':{'read_default_file':'path/to/my.cnf',} #优先于NAME,USER,PASSWORD,HOST,PORT

#设置mysql启用严格模式

'OPTIONS':{'init_command':"SET sql_mode='STRICT_TRANS_TABLES'"}

PASSWORD:设置密码,不与SQLite一起使用

PORT:指定端口

TIME_ZONE:设置时区

DISABLE_SERVER_SIDE_CURSORS:True时禁用服务器端游标

USER:链接用户名

TEST:测试数据库

(2)自定义数据库

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值