bugl
bugl
HomeLearnPatternsPathsSearchPremium
HomeLearnPatternsPaths
Learn/Django/Admin
Django•Admin

Django Admin - Set Fields to Display

Make the List Display More Reader-Friendly

When you display a Model as a list, Django displays each record as the string representation of the record object, which in our case is "Member object (1)", "Member object(2)" etc.:

To change this to a more reader-friendly format, we have two choices:

  • Change the string representation function, str() of the Member Model
  • Set the list_display property of the MemberAdmin class

Change the String Representation Function

To change the string representation, we have to define the str() function of the Member Model in models.py , like this:

my_tennis_club/members/models.py :

from django.db import models
class Member(models.Model): firstname = models.CharField(max_length=255)
lastname = models.CharField(max_length=255)
phone = models.IntegerField(null=True)
joined_date = models.DateField(null=True)
def __str__(self): return f"{self.firstname} {self.lastname}"

Which gives us this result

Defining our own str() function is not a Django feature, it is how to change the string representation of objects in Python. Read more about Python objects in our Python object tutorial .

Set list_display

We can control the fields to display by specifying them in a list_display property in the admin.py file.

First create a MemberAdmin() class and specify the list_display tuple, like this:

my_tennis_club/members/admin.py :

from django.contrib import admin
from .models import Member
# Register your models here.
class MemberAdmin(admin.ModelAdmin): list_display = ("firstname", "lastname", "joined_date",)
admin.site.register(Member, MemberAdmin)

Remember to add the MemberAdmin as an argumet in the admin.site.register(Member, MemberAdmin) .

Now go back to the browser and you should get this result:

Previous

Django Admin - Include Member

Next

Django Admin - Update Members

This chapter

Overview
7

Lessons

14m

Read time

1. Django Admin2. Django Admin - Create User3. Django Admin - Include Member4. Django Admin - Set Fields to Display5. Django Admin - Update Members6. Django Admin - Add Members7. Django Admin - Delete Members

On this page

Make the List Display More Reader-FriendlyChange the String Representation FunctionSet list_display