editable=False – Django 内置字段验证
Django 模型中的内置字段验证是为所有 Django 字段预定义的验证。每个字段都带有来自 Django 验证器的内置验证。还可以添加更多内置字段验证,以在特定字段上应用或删除某些约束。 editable=False
将使该字段从包括admin 和ModelForm 在内的所有表单中消失,即不能使用任何表单对其进行编辑。该字段不会显示在 admin 或任何其他 ModelForm 中。在模型验证期间它们也会被跳过。
句法
field_name = models.Field(editable = False)
Django 内置字段验证editable=False
说明
使用示例说明editable=False 。考虑一个名为geeks
的项目,它有一个名为geeksforgeeks
的应用程序。
Refer to the following articles to check how to create a project and an app in Django.
- How to Create a Basic Project using MVT in Django?
- How to Create an App in Django ?
在极客应用的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 ,这也会将该字段设置为某个值,这样它就不会给管理员用户带来可疑的错误。
更多内置字段验证
Field Options | Description |
---|---|
Null | If True, Django will store empty values as NULL in the database. Default is False. |
Blank | If True, the field is allowed to be blank. Default is False. |
db_column | The name of the database column to use for this field. If this isn’t given, Django will use the field’s name. |
Default | The default value for the field. This can be a value or a callable object. If callable it will be called every time a new object is created. |
help_text | Extra “help” text to be displayed with the form widget. It’s useful for documentation even if your field isn’t used on a form. |
primary_key | If True, this field is the primary key for the model. |
editable | If False, the field will not be displayed in the admin or any other ModelForm. They are also skipped during model validation. Default is True. |
error_messages | The error_messages argument lets you override the default messages that the field will raise. Pass in a dictionary with keys matching the error messages you want to override. |
help_text | Extra “help” text to be displayed with the form widget. It’s useful for documentation even if your field isn’t used on a form. |
verbose_name | A human-readable name for the field. If the verbose name isn’t given, Django will automatically create it using the field’s attribute name, converting underscores to spaces. |
validators | A list of validators to run for this field. See the validators documentation for more information. |
Unique | If True, this field must be unique throughout the table. |
在评论中写代码?请使用 ide.geeksforgeeks.org,生成链接并在此处分享链接。