Peewee – 限制条件

Peewee – 限制条件

约束是对一个字段中可能存在的值的限制。其中一个约束是主键。当在字段定义中指定 primary_key=True 时,每一行只能存储唯一的值–该字段的相同值不能在其他行中重复。

如果一个字段不是主键,它仍然可以被约束为在表中存储 唯一 值。字段构造器也有约束参数。

下面的例子在年龄字段上应用 CHECK 约束。

class MyUser (Model):
   name=TextField()
   city=TextField()
   age=IntegerField(constraints=[Check('name<10')])
   class Meta:
      database=db
      db_table='MyUser'

这将产生以下数据定义语言(DDL)表达式-

CREATE TABLE MyUser (
   id INTEGER NOT NULL
   PRIMARY KEY,
   name TEXT NOT NULL,
   city TEXT NOT NULL,
   age INTEGER NOT NULL
   CHECK (name < 10)
);

因此,如果一个新行的年龄<10,将导致错误。

MyUser.create(name="Rajesh", city="Mumbai",age=9)
peewee.IntegrityError: CHECK constraint failed: MyUser

在字段定义中,我们也可以使用 DEFAULT 约束,如下面城市字段的定义。

city=TextField(constraints=[SQL("DEFAULT 'Mumbai'")])

因此,模型对象的构建可以有或没有明确的城市值。如果不使用,城市字段将由默认值填充 – 孟买。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程