- Peewee 教程
- Peewee - 首页
- Peewee - 概述
- Peewee - 数据库类
- Peewee - 模型
- Peewee - 字段类
- Peewee - 插入新记录
- Peewee - 选择记录
- Peewee - 过滤器
- Peewee - 主键和复合主键
- Peewee - 更新现有记录
- Peewee - 删除记录
- Peewee - 创建索引
- Peewee - 约束
- Peewee - 使用 MySQL
- Peewee - 使用 PostgreSQL
- Peewee - 动态定义数据库
- Peewee - 连接管理
- Peewee - 关系和连接
- Peewee - 子查询
- Peewee - 排序
- Peewee - 计数和聚合
- Peewee - SQL 函数
- Peewee - 检索行元组/字典
- Peewee - 用户定义运算符
- Peewee - 原子事务
- Peewee - 数据库错误
- Peewee - 查询构建器
- Peewee - 与 Web 框架集成
- Peewee - SQLite 扩展
- Peewee - PostgreSQL 和 MySQL 扩展
- Peewee - 使用 CockroachDB
- Peewee 有用资源
- Peewee - 快速指南
- Peewee - 有用资源
- Peewee - 讨论
Peewee - 模型
Peewee API 中的 Model 子类的对象对应于数据库中已建立连接的表。它允许在 Model 类中定义的方法的帮助下执行数据库表操作。
用户定义的 Model 具有一个或多个类属性,每个属性都是 Field 类的对象。Peewee 有一些用于保存不同类型数据的子类。例如 TextField、DatetimeField 等。它们对应于数据库表中的字段或列。关联数据库和表的引用以及模型配置在 Meta 类中提到。以下属性用于指定配置 -
Meta 类属性
下面解释了元类属性 -
序号 | 属性和描述 |
---|---|
1 | 数据库 模型的数据库。 |
2 | db_table 存储数据的表名。默认情况下,它是模型类名。 |
3 | 索引 要索引的字段列表。 |
4 | primary_key 复合键实例。 |
5 | 约束 表约束列表。 |
6 | 模式 模型的数据库模式。 |
7 | 临时 指示临时表。 |
8 | depends_on 指示此表依赖于另一个表的创建。 |
9 | without_rowid 指示表不应该有 rowid(仅限 SQLite)。 |
以下代码定义了 mydatabase.db 中 User 表的 Model 类 -
from peewee import * db = SqliteDatabase('mydatabase.db') class User (Model): name=TextField() age=IntegerField() class Meta: database=db db_table='User' User.create_table()
create_table() 方法是 Model 类的类方法,它执行等效的 CREATE TABLE 查询。另一个实例方法 save() 添加对应于对象的行。
from peewee import * db = SqliteDatabase('mydatabase.db') class User (Model): name=TextField() age=IntegerField() class Meta: database=db db_table='User' User.create_table() rec1=User(name="Rajesh", age=21) rec1.save()
Model 类中的方法
Model 类中的其他方法如下 -
序号 | Model 类和描述 |
---|---|
1 | 类方法 alias() 创建模型类的别名。它允许在查询中多次引用同一个 Model。 |
2 | 类方法 select() 执行 SELECT 查询操作。如果未显式提供任何字段作为参数,则查询将默认执行等效于 SELECT * 的操作。 |
3 | 类方法 update() 执行 UPDATE 查询函数。 |
4 | 类方法 insert() 在映射到模型的基础表中插入新行。 |
5 | 类方法 delete() 执行删除查询,通常与 where 子句的过滤器相关联。 |
6 | 类方法 get() 从匹配给定过滤器的映射表中检索一行。 |
7 | get_id() 实例方法返回行的主键。 |
8 | save() 将对象的数据保存为新行。如果主键值已存在,它将导致执行 UPDATE 查询。 |
9 | 类方法 bind() 将模型绑定到给定的数据库。 |