繁体   English   中英

如何从 django 管理面板中删除额外的“s”?

[英]How can i remove extra "s" from django admin panel?

我对在 django admin 中的类名后添加的额外“s”感到非常恼火,例如,model.py 中的类“About”在管理部分变为“Abouts”。 我希望它不要添加额外的“s”。 这是我的 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 如何解决我的问题。

您可以在模型中添加另一个名为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/

查看 django 文档中的Model Meta

在模型中,您可以添加class Meta这为您的模型提供了额外的选项,可以处理诸如单数和复数命名之类的事情。

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

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

model.py或在您的customized model file在模型类中添加类元。 如果未提及,则会在模型类名称的末尾添加一个额外的 's',该名称将在 Django 管理页面中可见。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM