238

How do I change some models name from "Categorys" to "Categories" on admin site in the new dev django version? In the old version (whithout admin sites and admin models) you could just do this; http://www.the-dig.com/blog/post/customize-plural-name-django-admin/

However - now setting verbose_name_plural inside my modeladmin based class does nothing. Anyone encouter the same issue?

2
  • It works for me in Django 1.1.1... Are you sure you're putting it inside the Meta nested class? Commented Apr 6, 2010 at 19:53
  • yah, I just thought that new versions got rid of the inner Meta class inside the models. Apparently not - they just made things more complicated with Admin classes... Commented Apr 7, 2010 at 1:41

2 Answers 2

421

Well well, it seems like the Meta class approach still works. So placing a meta class inside your model will still do the trick:

class Category(models.Model): class Meta: verbose_name_plural = "categories" 

Note that we use the lower case here, as django is smart enough to capitalize it when we need it.

I find setting this option in model-class weird as opposed to the admin.py file. Here is the location in the dev docs where it is described:
http://docs.djangoproject.com/en/dev/ref/models/options/#verbose-name-plural

Sign up to request clarification or add additional context in comments.

1 Comment

The idea of setting this in the model class (rather than admin.py) boils down to DRY - just because the admin is the only thing out-of-the-box that uses this information about your model doesn't mean it will always be. Hopefully if you need the plural name of a model somewhere in your own code you'll use this property instead of re-inventing the wheel.
50

for that you need to add meta classes for models

class Category(models.Model): --- model field here --- class Meta: verbose_name = "Category" verbose_name_plural = "Categories" 

Bonus for your models admin in apps.py

class CategoryConfig(AppConfig): name = "Category" verbose_name = "Categories" 

1 Comment

According to the default models in django-admin dashboard, the names should start with lower case.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.