是否可以为实际的Class模型创建详细名称?
class User(models.Model):
fname = models.CharField(max_length=50, verbose_name = 'first name')
因此,在管理面板中,它的详细名称将引用而不是'user'
?
答案 0 :(得分:31)
class User(models.Model):
fname = models.CharField(max_length=50, verbose_name = 'first name')
class Meta:
verbose_name = "users"
来源:https://docs.djangoproject.com/en/2.1/topics/db/models/#meta-options
答案 1 :(得分:4)
您也可以在“Meta”类中添加“verbose_name_plural”。
答案 2 :(得分:3)
verbose_name 和 verbose_name_plural Meta 类的属性对于修改Django的默认行为以显示模型名称非常重要在管理界面。
您可以使用 verbose_name 和 verbose_name_plural 属性在管理界面上更改型号名称的显示模型字段名称,使用关键字参数 verbose_name 。
请查看以下 2 示例。
国家/地区型号:
class Country(models.Model):
name = models.CharField(max_length=100, null=False, blank=False, help_text="Your country", verbose_name="name")
userid = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return "Country " + str(self.id) + " - " + self.name
class Meta:
verbose_name = "Country"
verbose_name_plural = "Countries"
如果你不指定 verbose_name_plural ,那么Django将把它作为国家,它看起来并不像我们想要的那样好国家。< / p>
这更适合以下类型的模型。
产品型号:
class Gender(models.Model):
name = models.CharField(max_length=100, null=False, blank=False, help_text="Gender", verbose_name = "name")
userid = models.ForeignKey(User, on_delete=models.CASCADE)
def __str__(self):
return "Gender " + str(self.id) + " - " + self.name
class Meta:
verbose_name = "Gender"