tortoise-orm连接多个数据库后怎么操作
时间: 2024-10-15 20:26:08 浏览: 42
Tortoise ORM是一个Python的ORM库,它支持连接并操作多种类型的数据库。如果你需要连接多个数据库,Tortoise允许你在配置文件中设置多个数据源(DataSources),每个数据源对应一个数据库。以下是基本步骤:
1. **配置文件**:
在`tortoise_config.py`文件中,添加多个数据源配置,例如:
```python
DATABASES = {
"db1": {"engine": "django", "credentials": {...}, "alias": "db1"},
"db2": {"engine": "postgresql", "credentials": {...}, "alias": "db2"},
}
```
每个键值对代表一个数据库,`alias`用于区分。
2. **模型映射**:
对于每个数据库,你需要创建对应的Model,并指定所属的数据源。例如:
```python
from tortoise import models, fields
class Model1(models.Model):
db = "db1"
# ...
class Model2(models.Model):
db = "db2"
# ...
```
3. **切换数据库**:
使用`using`关键字来明确操作哪一个数据库:
```python
with Model1.db.connect() as connection:
# 在这个with块内执行针对Model1的查询
with Model2.db.connect() as connection:
# 在这个with块内执行针对Model2的查询
```
4. **分隔事务**:
如果需要在一个事务中操作多个数据库,可以在开始事务前指定目标数据库:
```python
with Model1.db.atomic():
# 这里的一致性保证仅针对Model1所在的数据库
with Model2.db.atomic():
# 同理,适用于Model2
```
阅读全文