peewee Documentation
Release 2.0.2
315.33 KB
65 页
0 评论
| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .pdf | 3 |
| 摘要 | ||
文档介绍了peewee,一个用Python编写的轻量级ORM库。它提供了对多种数据库(如SQLite、MySQL和PostgreSQL)的接口,并支持复杂的查询操作。文档展示了如何使用模型定义数据库结构,执行基本的CRUD操作,并提供了示例代码。此外,还介绍了PostgreSQL的HStore扩展支持。 | ||
| AI总结 | ||
# Peewee ORM 文档总结(版本 2.0.2)
## 1. 概述
- **Peewee** 是一个轻量级的 Python ORM(对象关系映射),提供了一个简洁的查询接口,支持多种数据库(如 SQLite、MySQL 和 PostgreSQL)。
- 核心特点:
- 基于 SQL 概念进行查询(如连接和条件语句)。
- 支持扩展功能(如 HStore)。
- 提供类似 Django 的模型 API。
## 2. 核心功能
### 2.1 查询示例
- **简单查询**:
```python
User.get(User.username == 'charles')
```
- **条件查询**:
```python
editors = User.select().where((User.is_staff == True) | (User.is_superuser == True))
```
- **高级查询**:
- 按字段排序:`User.select().order_by(User.username)`
- 按数量排序:`User.select().annotate(Tweet).order_by(fn.Count(Tweet.id).desc())`
- 分页查询:`User.select().order_by(User.username).paginate(3, 20)`
- **原子更新**:
```python
Counter.update(count=Counter.count + 1).where(Counter.url == request.url)
```
### 2.2 模型 API
- **模型定义**:
```python
class SomeModel(BaseModel):
col1 = CharField()
col2 = DateTimeField()
```
- **Meta 配置**:
```python
class CustomModel(Model):
class Meta:
database = custom_db
```
### 2.3 数据库扩展
- **PostgreSQL 扩展**:
- 支持 HStore,允许存储 JSON 数据。
- 使用 `PostgresqlExtDatabase` 替代默认的 `PostgresqlDatabase`。
- **APSW 扩展**:
- 提供更高级的 SQLite 功能,性能优于 `pysqlite`。
- 支持事务锁类型参数:`APSWDatabase.transaction(lock_type='deferred')`。
## 3. 高级功能
### 3.1 原生查询
- 允许直接执行 SQL:
```python
q = User.raw('select id, username from users')
for user in q:
print(user.id, user.username)
```
### 3.2 序列管理
- 支持数据库序列的增删操作:
```python
drop_sequence(sequence_name)
sequence_exists(sequence_name)
```
### 3.3 示例应用
- 提供一个基于 Flask 的示例应用,展示如何快速搭建一个 Twitter 克隆。
- 模型包括:
- `User`:存储用户信息。
- `Relationship`:表示用户关系(如关注)。
- `Message`:存储动态信息。
## 4. 总结
- **Peewee** 是一个功能强大且易于使用的 ORM,适合快速开发数据库驱动的应用。
- 其轻量级设计和丰富的查询功能使其成为中小型项目的理想选择。
- 对于需要高级功能(如 HStore 和事务控制)的用户,Peewee 提供了完善的扩展支持。
通过 Peewee,开发者可以更高效地进行数据库操作,同时保持代码的简洁性和可维护性。 | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
53 页请下载阅读 -
文档评分














peewee Documentation Release 1.0.0