Peewee – 模型

Peewee – 模型

在Peewee API中,Model子类的一个对象对应于数据库中的一个表,并与之建立了连接。它可以在模型类中定义的方法的帮助下执行数据库表操作。

一个用户定义的模型有一个或多个类属性,每个属性都是一个字段类的对象。Peewee有许多子类用于保存不同类型的数据。例如TextField, DatetimeField等。它们对应于数据库表中的字段或列。Meta类中提到了相关数据库和表以及模型配置的参考。以下属性用于指定配置

元类属性

元类属性解释如下

序号 属性和描述
1 **Database ** 模型的数据库。
2 db_table 用于存储数据的表的名称。默认情况下,它是模型类的名称。
3 **Indexes ** 要索引的字段的列表。
4 primary_key 一个复合键实例。
5 **Constraints ** 一个表的约束条件的列表。
6 Schema 该模型的数据库模式。
7 Temporary 表示临时表。
8 depends_on 表示此表依赖另一个表的创建。
9 without_rowid 表示该表不应该有rowid(仅SQLite)。

下面的代码定义了mydatabase.db中User表的模型类—

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

模型类中的方法

模型类中的其他方法如下

序号 模型类和描述
1 Classmethod alias() 为模型类创建一个别名。它允许同一个模型在一个查询中被多次引用。
2 Classmethod select() 执行一个SELECT查询操作。如果没有明确提供字段作为参数,查询将默认为SELECT * 等效。
3 Classmethod update() 执行一个UPDATE查询功能。
4 classmethod insert() 在映射到模型的基础表中插入一条新行。
5 classmethod delete() 执行删除查询,通常与where子句的过滤器有关。
6 classmethod get() 从映射的表中获取一条符合给定过滤器的记录。
7 get_id() 实例方法返回一条记录的主键。
8 save() 将对象的数据保存为新行。如果主键值已经存在,它将导致一个UPDATE查询被执行。
9 classmethod bind() 将模型绑定到给定的数据库。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程