📅  最后修改于: 2023-12-03 15:12:07.907000             🧑  作者: Mango
在 Django 中,可以使用标签为字段添加更多的元数据信息或设置它们的属性。常用的标签包括 verbose_name
、help_text
、null
、blank
、default
等。本文将为您介绍如何为 Django 模型字段设置标签。
字段的 verbose_name
标签用于设置其在 Django 后台管理站点中的可读名称。例如,以下代码使用 verbose_name
将 name
字段的名称设为“商品名称”:
class Product(models.Model):
name = models.CharField(max_length=50, verbose_name='商品名称')
字段的 help_text
标签用于为该字段提供更多的解释和信息。例如,以下代码使用 help_text
标签为 name
字段提供如何填写名称的帮助文本:
class Product(models.Model):
name = models.CharField(max_length=50, verbose_name='商品名称', help_text='请输入名称,不超过50个字符')
字段的 null
标签用于确定该字段是否可以保存空值,如果设置为 True
,则该字段允许保存空值;否则,将引发 ValidationError
异常。例如,以下代码将 image
字段设置为可选:
class Product(models.Model):
name = models.CharField(max_length=50, verbose_name='商品名称', help_text='请输入名称,不超过50个字符')
image = models.ImageField(upload_to='images/', null=True)
字段的 blank
标签用于确定是否可以省略该字段。如果设置为 True
,则该字段可以为空;否则,ValidationError
异常将被引发。例如,以下代码将 description
字段标记为可选:
class Product(models.Model):
name = models.CharField(max_length=50, verbose_name='商品名称', help_text='请输入名称,不超过50个字符')
image = models.ImageField(upload_to='images/', null=True)
description = models.TextField(blank=True)
字段的 default
标签用于为该字段设置默认值。例如,以下代码将 price
字段的默认值设置为 0
:
class Product(models.Model):
name = models.CharField(max_length=50, verbose_name='商品名称', help_text='请输入名称,不超过50个字符')
image = models.ImageField(upload_to='images/', null=True)
description = models.TextField(blank=True)
price = models.DecimalField(max_digits=8, decimal_places=2, default=0)
您可以使用任何合理的默认值,例如数字、字符串甚至默认方法。例如,以下代码将 created_date
字段的默认值设置为当前日期:
class Product(models.Model):
name = models.CharField(max_length=50, verbose_name='商品名称', help_text='请输入名称,不超过50个字符')
image = models.ImageField(upload_to='images/', null=True)
description = models.TextField(blank=True)
price = models.DecimalField(max_digits=8, decimal_places=2, default=0)
created_date = models.DateTimeField(auto_now_add=True)
为 Django 模型字段设置标签是一种非常重要并且易于使用的方式,可以帮助更好地管理您的应用程序的数据。我们已经介绍了一些常用的标签,如 verbose_name
、help_text
、null
、blank
、default
等,您还可以使用其他标签根据您的具体需要为字段添加更多元数据信息。