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()

将模型绑定到给定的数据库。