解决django配置多数据库的使用

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',	# 要连接的 数据库类型
        'HOST': '192.168.1.1',	# 要连接的远程数据库的 ip地址
        'PORT': '3306',	# 数据库连接端口,mysql默认3306
        'USER': 'root',		# 数据库已有用户名
        'PASSWORD': 'root',	# 数据库已有用户密码
        'NAME': 'db_name1',	# 要连接的 数据库名
    },
'db2': {
        'ENGINE': 'django.db.backends.mysql',	# 要连接的 数据库类型
        'HOST': '192.168.1.2',	# 要连接的远程数据库的 ip地址
        'PORT': '3306',	# 数据库连接端口,mysql默认3306
        'USER': 'root',		# 数据库已有用户名
        'PASSWORD': 'root',	# 数据库已有用户密码
        'NAME': 'db_name2',	# 要连接的 数据库名
    }
}

如上,在django的settings中可以设置数据库的链接参数,可以设置多个后端链接的数据库的源,那么怎么来通过ORM使用呢?

# 我们正常查username 是'test' 的人,使用默认的数据库如下:
User.objects.filter(username='test')
# 但其实这里省了一步,如下
User.objects.using('default').filter(username='test')
# 为什么省了呢,就因为它是默认啊!!!所以以上两行代码的作用是相同的

# 那么如何链接非默认的数据库呢,如下
User.objects.using('db2').filter(username='test')

这里有个关键属性是using。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值