Peewee – 创建索引

Peewee – 创建索引

通过使用Peewee ORM,我们可以定义一个模型,该模型将创建一个带有单列和多列索引的表。

根据字段属性定义,将唯一约束设置为True将在映射字段上创建一个索引。同样,将index=True参数传递给字段构造器也会在指定字段上创建索引。

在下面的例子中,我们在MyUser模型中有两个字段,其中用户名字段的唯一参数设置为True,电子邮件字段的 索引=True。

class MyUser(Model):
   username = CharField(unique=True)
   email = CharField(index=True)
   class Meta:
      database=db
      db_table='MyUser'

因此,SQLiteStudio图形用户界面(GUI)显示创建的索引如下-

Peewee - 创建索引

为了定义多列索引,我们需要在我们的模型类定义内的Meta类中添加索引属性。它是一个由2项元组组成的元组,一个元组代表一个索引定义。在每个2项元组里面,第一部分是字段名的元组,第二部分被设置为True以使其唯一,否则为False。

我们定义MyUser模型的双列唯一索引,如下所示

class MyUser (Model):
   name=TextField()
   city=TextField()
   age=IntegerField()
   class Meta:
      database=db
      db_table='MyUser'
      indexes=(
         (('name', 'city'), True),
      )

因此,SQLiteStudio显示索引定义,如下图所示

Peewee - 创建索引

索引也可以在模型定义之外建立。

你也可以通过手动提供SQL辅助语句作为 add_index() 方法的参数来创建索引。

MyUser.add_index(SQL('CREATE INDEX idx on MyUser(name);'))

上述方法在使用SQLite时特别需要。对于MySQL和PostgreSQL,我们可以获得Index对象并通过 add_index() 方法使用它。

ind=MyUser.index(MyUser.name)
MyUser.add_index(ind)

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程