The changes we've made so far-blank=True
, null=True
and verbose_name
-are really model-level changes, not admin-level changes. That is, these changes are fundamentally a part of the model and just so happen to be used by the admin site; there's nothing admin-specific about them.
Beyond these, the Django admin site offers a wealth of options that let you customize how the admin site works for a particular model. Such options live in ModelAdmin classes, which are classes that contain configuration for a specific model in a specific admin site instance.
Let's dive into admin customization by specifying the fields that are displayed on the change list for our Author
model. By default, the change list displays the result of __str__()
for each object. In Chapter 4, Models, we defined the __str__()
method for Author
objects to display the first name and last name together:
class Author(models.Model): first_name = models.CharField(max_length...