2015-08-17 82 views
5

我在django管理员的类名后添加了额外的“s”,真的非常恼火,例如,我的model.py中的'About'类在管理部分变为'Abouts'。我希望它不要添加额外的's'。这里是我的model.py文件 -如何从django管理面板中删除多余的“s”?

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

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

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

+2

可能重复[Django的固定联系复数]( http://stackoverflow.com/questions/2587707/django-fix-admin-plural) – jonrsharpe

+1

虽然你的问题在下面得到了回答,但这些信息可以在django教程中找到。在你做一些小小的研究之前,不要生气。 –

回答

14

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

3

看看Django文档中Model Meta

在模型中,您可以添加class Meta这允许您的模型的其他选项处理像单数和复数命名的事情。

这可以通过以下方式来使用(在英语里我们没有羊),所以verbose_name_plural可用于覆盖在pluralising话Django的尝试:

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