定义多个数据库
DATABASES = {
'default': {
'NAME': 'test01',
'ENGINE': 'django.db.backends.postgresql',
'USER': 'postgres_user',
'PASSWORD': '123456'
},
'db02': {
'NAME': 'test02',
'ENGINE': 'django.db.backends.mysql',
'USER': 'mysql_user',
'PASSWORD': '123456'
}
}
同步指定数据库
./manage.py migrate --database=db02
ORM写法
>>> # 不指定则使用default数据库
>>> Author.objects.all()
>>> # 也可以这样
>>> Author.objects.using('default').all()
>>> # 如果要用其他数据库....
>>> Author.objects.using('db02').all()
save和delete操作
>>> my_object.save(using='db02')
>>> u = User.objects.using('db02').get(username='fred')
>>> u.delete() # 从db02数据库删除这条数据
使用原生sql
from django.db import connections
# 写法1
cursor = connections['db02'].cursor()
cursor.execute(sql)
result = cursor.fetchall()
#写法2
with connections['db02'].cursor() as cursor:
...
其他
数据库路由、管理器管理多个数据库等,可参考
https://docs.djangoproject.com/en/4.0/topics/db/multi-db/