Peewee 模型
Peewee API 中的 Model 子类的一个对象对应于数据库中已建立连接的表。它允许在 Model 类中定义的方法的帮助下执行数据库表操作。
一个用户定义的模型有一个或多个类属性,每一个都是 Field 类的一个对象。 Peewee 有许多子类用于保存不同类型的数据。例如 TextField、DatetimeField 等。它们对应于数据库表中的字段或列。 Meta类中提到了关联数据库和表和模型配置的参考。以下属性用于指定配置:
元类属性
元类属性解释如下:
序号 | 属性和描述 |
---|---|
1 |
Database 模型数据库。 |
2 |
db_table 存储数据的表的名称。默认情况下,它是模型类的名称。 |
3 |
Indexes 要索引的字段列表。 |
4 |
首要的关键 复合键实例。 |
5 |
约束 表约束列表。 |
6 |
Schema 模型的数据库架构。 |
7 |
暂时的 表示临时表。 |
8 |
取决于 指示此表依赖于另一个表来创建。 |
9 |
没有_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()
The 创建表() 方法是执行等效 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 查询功能。 |
4 |
类方法插入() 在映射到模型的基础表中插入新行。 |
5 |
类方法删除() 执行删除查询,通常通过 where 子句与过滤器相关联。 |
6 |
类方法 get() 从匹配给定过滤器的映射表中检索单行。 |
7 |
get_id() 实例方法返回一行的主键。 |
8 |
save() 将对象的数据另存为新行。如果主键值已经存在,它将导致执行 UPDATE 查询。 |
9 |
类方法绑定() 将模型绑定到给定的数据库。 |