首先告知 Django,你正在使用至少2个数据库服务。通过 DATABASES
配置来将指定的数据库链接放入一个字典,以此来映射数据库别名,数据库别名是在整个Django中引用特定数据库的一种方式。
成都创新互联是一家专注于成都做网站、网站建设与策划设计,中牟网站建设哪家好?成都创新互联做网站,专注于网站建设十载,网设计领域的专业建站公司;建站业务涵盖:中牟等地区。中牟做网站价格咨询:18980820575
可以选择任意的数据库别名,但是``default
`` 别名具有特殊意义。当没有数据库指定选择的时候,Django 使用带有 default
别名的数据库。
接下来一个 settings.py
片段,定义了2个数据库——默认的 PostgreSQL 数据库和名叫 users
的 MySQL 数据库。
DATABASES = {
'default': {
'NAME': 'app_data',
'ENGINE': 'django.db.backends.postgresql',
'USER': 'postgres_user',
'PASSWORD': 's3krit'
},
'users': {
'NAME': 'user_data',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'priv4te'
}
}
如果 default
数据库的设计在项目中没有使用,那么你需要特别注意始终指定你所使用的数据库。Django 需要定义 default
数据库,但如果没有使用数据库的话,参数字典可以置空。这样,你必须为所有的模型,包括你所使用的任何 contrib
和第三方 app 设置 DATABASE_ROUTERS
,所以不会有任何查询路由到默认数据库。下面示例来讲在默认数据库为空的情况下,如何定义两个非默认数据库:
DATABASES = {
'default': {},
'users': {
'NAME': 'user_data',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': 'superS3cret'
},
'customers': {
'NAME': 'customer_data',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_cust',
'PASSWORD': 'veryPriv@ate'
}
}
如果您尝试访问您尚未在 DATABASES
设置中定义的数据库,Django 将引发 django.utils.connection.ConnectionDoesNotExist
异常。
新闻名称:创新互联Django4.0教程:Django4.0多数据库-定义数据库
新闻来源:http://www.gawzjz.com/qtweb2/news47/24697.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联