django中管理模型类的详细名称

时间:2011-05-11 04:57:33

标签: django django-models django-admin

是否可以为实际的Class模型创建详细名称?

class User(models.Model):
    fname = models.CharField(max_length=50, verbose_name = 'first name')

因此,在管理面板中,它的详细名称将引用而不是'user'

3 个答案:

答案 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"