I have Person model below:
# "store/models.py"
from django.db import models
class Person(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=30)
age = models.IntegerField()
def __str__(self):
return self.first_name + " " + self.last_name
Then, I assigned "first_name", "last_name" and "age" to list_display in Person admin as shown below:
# "store/admin.py"
from django.contrib import admin
from .models import Person
@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
list_display = ("first_name", "last_name", "age") # Here
Now, FIRST NAME, LAST NAME and AGE are displayed as shown below:
Next, I assigned "first_name", "last_name" and "age" to list_display_links in Person admin as shown below:
# "store/admin.py"
from django.contrib import admin
from .models import Person
@admin.register(Person)
class PersonAdmin(admin.ModelAdmin):
list_display = ("first_name", "last_name", "age")
list_display_links = ("first_name", "last_name", "age") # Here
But, nothing happened to the "change list" page as shown below:
So, what is list_display_links?


Actually, the values of LAST NAME and AGE become the links to the "change" page in addition to the values of FIRST NAME as shown below. *By default, the values of the first column "FIRST NAME" displayed are the links to the "change" page:
So, you can go to the "change" page by clicking on Smith as shown below:
The documentation explains about list_display_links below: