【记录小知识】一个django项目用到多个数据库,怎么配置以及使用?

一个django项目用到多个数据库,怎么配置以及使用?

第一步,先在项目的settings.py文件中配置数据库

DATABASES = {
		# settings.py种自带的默认数据库,键是'default'。
        'default': {
            'ENGINE': 'django.db.backends.%s' % CONFIG.DB_ENGINE,
            'NAME': CONFIG.DB_NAME,
            'HOST': CONFIG.DB_HOST,
            'PORT': CONFIG.DB_PORT,
            'USER': CONFIG.DB_USER,
            'PASSWORD': CONFIG.DB_PASSWORD,
            'ATOMIC_REQUESTS': True,
            'OPTIONS': {
                'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
            }
        },
				
		# 如果项目中需要用到第二个(或多个)数据库,那么就需要再加新的字典,键为库名,值为该数据库的配置信息。 
        'zabbix': {
            'ENGINE': 'django.db.backends.%s' % CONFIG.DB_ENGINE,
            'NAME': CONFIG.ZABBIX_DB_NAME,
            'HOST': CONFIG.ZABBIX_DB_HOST,
            'PORT': CONFIG.ZABBIX_DB_PORT,
            'USER': CONFIG.ZABBIX_DB_USER,
            'PASSWORD': CONFIG.ZABBIX_DB_PASSWORD,
            'ATOMIC_REQUESTS': True,
            'OPTIONS': {
                'init_command': "SET sql_mode='STRICT_TRANS_TABLES'",
            }
        },

在ORM中的使用

# 在objects后加上 .using('库名') 之后再加查询条件
# 这条语句的意思是,再zabbix库种查User表种name为ybc且age为18的数据,返回数据中值name,age,address字段的数据。
User.objects.using('zabbix').filter(name='ybc', age='18').values('name','age','address')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值