我怎样才能删除额外的" s"来自django管理面板?

时间:2015-08-17 10:07:11

标签: python django django-models

我真的非常被额外的"#34;在django admin中我的课程名称之后添加,例如课程'关于'在我的model.py成为'关于'在管理部分。我希望它不要添加额外的'。这是我的model.py文件 -

class About(models.Model):
        about_desc = models.TextField(max_length=5000)

        def __unicode__(self):              # __str__ on Python 3
                return str(self.about_desc)

请有人建议我django如何解决我的问题。

3 个答案:

答案 0 :(得分:17)

您可以在模型中添加另一个名为Meta的类,以指定多个显示名称。例如,如果模型的名称为Category,则管理员会显示Categorys,但通过添加Meta类,我们可以将其更改为Categories

我已更改您的代码以解决问题:

class About(models.Model):

    about_desc = models.TextField(max_length=5000)

    def __unicode__(self):              # __str__ on Python 3
        return str(self.about_desc)

    class Meta:
        verbose_name_plural = "about"

有关更多Meta选项,请参阅https://docs.djangoproject.com/en/1.8/ref/models/options/

答案 1 :(得分:5)

查看django文档中的Model Meta

在模型中,您可以添加class Meta,这样可以为您的模型提供额外的选项,以处理单数和复数命名等内容。

这可以通过以下方式使用(英语中我们没有羊)所以verbose_name_plural可以用来覆盖djangos尝试复数词:

class Sheep(model.Model):
    class Meta:
        verbose_name_plural = 'Sheep'

答案 2 :(得分:1)

model.py内部或您的customized model file内部

在模型类中添加类元。 如果未提及,则将在“模型类名称”的末尾添加一个额外的“ s”,该名称将在Django管理页面中可见。

class TestRoles(model.Model): 
   class Meta: verbose_name_plural = 'TestRoles'