Tortoise-ORM和SQLAlchemy语法对比
时间: 2024-01-17 17:03:52 浏览: 260
Tortoise-ORM 是一个异步 ORM 框架,而 SQLAlchemy 是一个同步 ORM 框架,它们的语法有一些不同点:
1. 查询语句:
Tortoise-ORM:
```python
query = await User.filter(name='John').order_by('id').values('id', 'name')
```
SQLAlchemy:
```python
query = session.query(User.id, User.name).filter_by(name='John').order_by(User.id)
```
2. 更新语句:
Tortoise-ORM:
```python
await User.filter(id=1).update(name='John')
```
SQLAlchemy:
```python
user = session.query(User).filter_by(id=1).first()
user.name = 'John'
session.commit()
```
3. 插入语句:
Tortoise-ORM:
```python
user = await User.create(name='John', age=20)
```
SQLAlchemy:
```python
user = User(name='John', age=20)
session.add(user)
session.commit()
```
总体来说,Tortoise-ORM 的语法更加简洁易懂,而 SQLAlchemy 的语法更加灵活,可以完成更复杂的操作。但需要注意的是,由于 Tortoise-ORM 是异步框架,需要使用 async/await 语法来调用相关操作。
阅读全文