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

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

广告