- 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类中提到了关联的数据库和表以及模型配置的参考。以下属性用于指定配置 -
元类属性
元类属性解释如下 -
先生编号 | 属性及描述 |
---|---|
1 | 数据库 模型数据库。 |
2 | 数据库表 存储数据的表的名称。默认情况下,它是模型类的名称。 |
3 | 索引 要索引的字段列表。 |
4 | 首要的关键 复合键实例。 |
5 | 约束条件 表约束的列表。 |
6 | 模式 模型的数据库架构。 |
7 | 暂时的 表示临时表。 |
8 | 依赖于取决于 指示该表依赖于另一个表的创建。 |
9 | 没有_rowid 指示表不应有 rowid(仅限 SQLite)。 |
以下代码定义 mydatabase.db 中用户表的模型类 -
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 类中的其他方法如下 -
先生编号 | 型号类别及描述 |
---|---|
1 | 类方法别名() 创建模型类的别名。它允许同一模型在查询中多次引用。 |
2 | 类方法 select() 执行 SELECT 查询操作。如果没有显式提供字段作为参数,则查询默认情况下将使用 SELECT * 等效项。 |
3 | 类方法 update() 执行 UPDATE 查询功能。 |
4 | 类方法insert() 在映射到模型的基础表中插入新行。 |
5 | 类方法delete() 执行删除查询,通常与筛选器 by where 子句相关联。 |
6 | 类方法 get() 从映射表中检索与给定过滤器匹配的单行。 |
7 | 获取id() 实例方法返回行的主键。 |
8 | 节省() 将对象的数据保存为新行。如果主键值已经存在,则会导致执行 UPDATE 查询。 |
9 | 类方法bind() 将模型绑定到给定的数据库。 |