How to Set Human Readable Names in Django Model Admin

13 Oct 2023
10 minute read
One of the great features of Django's admin is its automatic generation of human readable names for your models. However, there may be need when you want to provide custom, human-readable names for your model's, rather than relying on Django's defaults.

In this tutorial, we’ll explore how to set custom plural names in Django Model Admin. This can be especially useful when you have models with irregular plural forms or when you want to enhance the readability of your admin interface.

Why Customize Plural Names?

Before we dive into the how-to, let’s quickly understand why you might want to customize plural names in your Django admin:

Clarity: Providing custom names can make your admin interface more user-friendly and understandable to other members of your team.
Consistency: In some cases, you may need to ensure consistent naming conventions across your project. Customizing plural names allows you to achieve this consistency.
Special Cases: When you have models with irregular plural forms, Django’s automatic generation may not yield the results you desire.

To set custom plural names in Django Model Admin, follow these steps:

Step 1: Define Your Model
First, define your Django model as you normally would. For this tutorial, let’s assume you have a model called Book in your models.py:

from django.db import models

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)
    # ... other fields

Step 2: Customize the Human Readable Name
Now, let’s set a custom plural name for your Book model. To do this, open your model’s Meta class and add the verbose_name_plural attribute. Here’s an example:

class Book(models.Model):
    title = models.CharField(max_length=100)
    author = models.CharField(max_length=50)

    class Meta:
        verbose_name_plural = "Books"

In this example, we’ve set the plural name for the Book model to Books. This name will be used in the Django admin interface.

Step 3: Register the Model in the Admin
Finally, register your model in the admin to see the custom plural name take effect:

from django.contrib import admin
from .models import Book

admin.site.register(Book)

With this setup, when you access the admin interface, you’ll see that the model Book now has a custom plural name Books, making it more intuitive and readable.

Conclusion

Customizing plural names in Django Model Admin is a straightforward process that can greatly enhance the clarity and consistency of your admin interface. It’s particularly useful when you want to tailor the admin interface to your project’s specific needs or when you have models with irregular plural forms.

So, don’t hesitate to give it a try! By following the steps outlined in this tutorial, you can take full control of how your models are presented in the Django admin and ensure a more user-friendly and organized experience for your team.

Django’s flexibility and ease of customization make it a top choice for web development, and the ability to set custom plural names is just one example of the power it offers to developers.

Happy coding!