editable=False – Django内置字段验证
Django模型中的内置字段验证是所有Django字段预定义的验证。每个字段都有来自Django验证器的内置验证。一个人也可以添加更多的内置字段验证,以应用或删除特定字段的限制。 editable=False将使字段从所有的表单中消失,包括管理员和ModelForm,即它不能使用任何表单进行编辑。该字段将不会显示在管理员或任何其他ModelForm中。它们也会在模型验证时被跳过。
语法
field_name = models.Field(editable = False)
Django内置字段验证的可编辑性=False 解释
用一个例子说明editable=False的情况。考虑一个名为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,
default = "GFG is best",
editable = False
)
在Django上运行了makemigrations和migrate并渲染了上述模型后,让我们试着从Django管理界面创建一个实例。你可以看到,在管理界面上没有出现这个字段。点击保存。
让我们在管理界面检查模型的实例是否被创建。
因此,Editable=False修改了该字段,使其在管理界面上不可见。
高级概念与默认
editable=False一般用于隐藏一些字段,如一些加密代码或电子邮件地址验证码等,不在管理面板上显示。要在一个字段中使用可编辑,你必须指定以下任何一个设置。
- null=True 和 blank=True ,这样你的字段就不会在模型保存过程中出现必填错误。
- default=value ,这也会将该字段设置为某个值,这样它就不会给管理员用户带来可疑的错误。