| 语言 | 格式 | 评分 |
|---|---|---|
英语 | .epub | 3 |
| 摘要 | ||
Peewee 是一个简单且小巧的 Python ORM,支持 SQLite、MySQL 和 PostgreSQL。它提供模型定义、数据存储和检索功能,支持事务管理、查询执行和数据库连接管理。文档还介绍了如何安装和测试、扩展模块的使用以及如何为新数据库添加驱动程序。 | ||
| AI总结 | ||
# Peewee ORM 3.1.0 文档总结
## 1. 简介
- **Peewee** 是一个简单而强大的ORM(对象关系映射)工具,基于Python开发,支持Python 2.7+ 和 3.4+。
- **核心特性**:
- 小巧且功能丰富,易于学习和使用。
- 内置支持 SQLite、MySQL 和 PostgreSQL。
- 提供丰富的扩展功能(如 PostgreSQL 的 HStore、JSON、数组支持,SQLite 的全文搜索,Schema 迁移等)。
- **代码托管**:[GitHub](https://github.com/coleifer/peewee)
---
## 2. 安装与测试
- **PyPI 安装**:`pip install peewee`
- **从 GitHub 克隆**:
```bash
git clone https://github.com/coleifer/peewee.git
cd peewee
python setup.py install
```
- **测试**:运行测试套件:`python runtests.py`
---
## 3. 快速入门
- **核心概念**:
- **模型定义**:通过定义 `Model` 类来映射数据库表。
- **数据存储**:通过模型实例或ORM方法将数据保存到数据库。
- **数据检索**:通过查询构建器或直接执行SQL语句从数据库中检索数据。
- **示例**:
```python
from peewee import *
db = SqliteDatabase('people.db')
class Person(Model):
name = CharField()
# Meta 配置数据库
class Meta:
database = db
```
---
## 4. 模型定义
- **模型类**:对应数据库表。
- **字段实例**:对应表中的列。
- **模型实例**:对应表中的一行数据。
- **定义模型**:
```python
class Person(Model):
name = CharField()
age = IntegerField()
```
---
## 5. 数据存储与检索
- **存储数据**:
```python
person = Person(name='Alice', age=30)
person.save()
```
- **检索数据**:
```python
for person in Person.select():
print(person.name)
```
---
## 6. 事务管理
- **原子操作**:
```python
with db.atomic() as transaction:
try:
save_some_objects()
except Exception:
transaction.rollback()
```
- **事务嵌套**:支持多层事务,异常时回滚,正常执行时提交。
---
## 7. 扩展支持
- **PostgreSQL**:支持 HStore、JSON、数组等高级功能。
- **SQLite**:支持全文搜索、Schema 迁移等扩展。
- **其他数据库**:通过 DB-API 2.0 接口扩展支持更多数据库。
---
## 8. 贡献指南
- **提交补丁**:
- 提交前在 GitHub 上创建问题描述变更。
- 补丁需包含单元测试和文档。
- **报告错误**:
- 提供错误信息、复现代码、Peewee 版本和数据库类型。
- **回答问题**:在 GitHub 或邮件列表中帮助解决问题。
---
## 9. 数据库支持
- **初始化数据库**:
```python
db = SqliteDatabase('my.db')
db.connect()
```
- **连接 URL**:
```python
db = PostgresqlDatabase('mydb', user='postgres', password='secret')
```
- **动态定义数据库**:
```python
db = Database('sqlite', **{'database': 'my.db'})
```
---
## 10. 执行查询
- **执行 SQL**:
```python
db.execute_sql("SELECT * FROM users WHERE status = ?", (ACTIVE,))
```
- **查询日志**:
```python
import logging
logger = logging.getLogger('peewee')
logger.setLevel(logging.DEBUG)
logger.addHandler(logging.StreamHandler())
```
---
## 11. 事务与连接管理
- **事务上下文管理器**:`db.atomic()` 支持嵌套事务。
- **连接管理**:
```python
db.connect()
db.close()
```
---
## 12. 新功能与示例
- **3.0 版本更新**:新增查询优化和新特性。
- **示例应用**:提供“推特风格”Web 应用教程。
---
## 13. 常见问题与错误
- **错误类型**:`PeeweeException`、`OperationalError`、`ProgrammingError`。
- **FAQ**:文档中提供常见问题解答。
---
## 总结
Peewee 是一个简洁而强大的 ORM 工具,适合快速开发数据库驱动的应用。其核心优势包括轻量级、易于学习、支持多种数据库以及丰富的扩展功能。通过文档提供的教程和示例,开发者可以快速上手并高效使用 Peewee 进行数据库操作。 | ||
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余
320 页请下载阅读 -
文档评分














peewee Documentation Release 3.1.0
peewee Documentation
Release 1.0.0