primary_key – Django内置字段验证

primary_key – Django内置字段验证

Django模型中的内置字段验证是所有Django字段预定义的默认验证。每个字段都有来自Django验证器的内置验证。如果你没有为模型中的任何字段指定primary_key=True,Django会自动添加一个AutoField来保存主键,所以你不需要在任何字段上设置primary_key=True,除非你想覆盖默认的主键行为。更多信息请参见自动主键字段。

注意 : primary_key=True意味着null=False和unique=True。一个对象上只允许有一个主键。

语法

field_name = models.Field(primary_key = True)

Django内置字段验证 primary_key=True 解释

用一个例子说明primary_key=True的情况。考虑一个名为geeksforgeeks的项目,有一个名为geeks的应用程序。

在geeks应用程序的models.py文件中输入以下代码。我们将使用IntegerField作为primary_key的实验。

from django.db import models
from django.db.models import Model
# Create your models here.
  
class GeeksModel(Model):
    geeks_field = models.IntegerField(primary_key = True)

在Django上运行了makemigrations和migrate,并渲染了上述模型后,让我们尝试从Django shell上用None创建一个实例。要启动Django shell,请输入以下命令。

Python manage.py shell

现在让我们尝试用None来创建GeeksModel的实例。

# importing required model
from geeks.models import GeeksModel
  
# creating instance of GeeksModel
s = GeeksModel.objects.create(geeks_field = 12)
  
# saving current model instance
s.save()

让我们在管理界面检查模型的实例是否被创建。
primary_key - Django内置字段验证
因此,primary_key=True将该字段修改为该表的PRIMARY KEY。

primary_key=True的高级概念

主键字段是只读的。如果你改变一个现有对象的主键值,然后保存它,一个新的对象将与旧的对象一起被创建。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程