Skip to main content

Command Palette

Search for a command to run...

How to make fields to be read only fields in the Django model admin forms?

Make fields to be read only fields in the Django model admin forms

Published
1 min read
How to make fields to be read only fields in the Django model admin forms?

Note: If you want to read the blog series on Django Admin customization, then click here.

Suppose you have a Book model which has an is_active field as given below.

# app_name/models.py

class Book(models.Model):
    ...
    is_active = models.BooleanField(default=True)

And you do not want the admin to edit/add values in certain fields, you can make them read only in the admin panel using readonly_fields attribute of ModelAdmin, here is how you do it.

# app_name/admin.py

from django.contrib import admin
from app_name.models import Book

@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
    ...
    readonly_fields = ("is_active", ) # 'is_active' field will be read_only in the django admin form

Any thoughts? Write it down in the comments.

For more such crispy blogs daily, follow Dev.Junction, subscribe to our newsletter and get notified.

Django admin tips and tricks

Part 6 of 14

Django provides a great Admin panel rich in features and highly customizable, in this series of blogs we will be introduced to all such possible customizations and more.

Up next

How to add custom column in the Django Admin change list view?

Add custom column in the Django Admin change list view