unique=True – Django内置字段验证

unique=True – Django内置字段验证

Django模型中的内置字段验证是所有Django字段预定义的验证。每个字段都有来自Django验证器的内置验证。人们也可以添加更多的内置字段验证,以应用或删除特定字段的某些约束。 unique=True 设置字段为唯一的,即一旦在一个字段中输入一个值,同样的值不能以任何方式输入该模型的任何其他实例中。它通常用于像卷号、雇员身份等应该是唯一的字段。

语法:

field_name = models.Field(unique=True)

Django内置字段验证unique=True说明

用一个例子来说明独特。考虑一个名为geeksforgeeks的项目,有一个名为geeks的应用程序。

在geeks应用程序的models.py文件中输入以下代码。我们将使用CharField对所有字段选项进行实验。

from django.db import models
from django.db.models import Model
# Create your models here.
 
class GeeksModel(Model):
    geeks_field = models.CharField(
                    max_length = 200, 
                    unique = True
                    )

在Django上运行了makemigrations和migrate并渲染了上述模型后,让我们在Django的管理界面上用字符串 “a “创建一个实例。 现在为了显示unique=True的约束,让我们尝试用相同的字符串再创建一个模型的实例。现在它将显示这个错误。django-error-messages

具有独特的先进概念

这是在数据库层面和通过模型验证来执行的。如果你试图保存一个在唯一字段中有重复值的模型,模型的save()方法将引发一个django.db.IntegrityError。这个选项对所有字段类型都有效,除了 ManyToManyField 和 OneToOneField。注意,当unique为True时,你不需要指定db_index,因为unique意味着创建一个索引。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程