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
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.