django数据查询指定数据库
Django数据库配置文件在setting.py中DATABASES,
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test1',
'USER': 'root',
'PASSWORD': 'password',
'HOST': TEST_IP,
'PORT': TEST_PORT,
'OPTIONS': {
'charset': 'utf8mb4',
'autocommit': True,
},
},
'slave': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test2',
'USER': 'root',
'PASSWORD': 'password',
'HOST': TEST_IP_2,
'PORT': TEST_PORT_2,
'OPTIONS': {
'charset': 'utf8mb4',
"autocommit": True,
},
},
'other_used': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'other',
'USER': 'root',
'PASSWORD': 'password',
'HOST': TEST_IP_USED,
'PORT': TEST_PORT_USED,
'OPTIONS': {
"autocommit": True,
},
},
}
1. 当进行数据查询时,默认使用的是default定义的数据库test1,举例:
<pre name="code" class="python">cheese_blog = Blog.objects.get(name="Cheddar Talk")
是查询的default数据库“test1”,
2. 当我们想用名称为other的数据库时,可以使用using来指定数据库为test_used(即使用other数据库):
cheese_blog = Blog.objects.using("test_uesd").get(name="Cheddar Talk")
还有另一种方式,通过制定DATABASE_ROUTERS来处理, 后面也会补写,
先参见官方文档: https://docs.djangoproject.com/en/dev/topics/db/multi-db/
转载请注明原文地址: https://ju.6miu.com/read-1201252.html