How to change the input widget into a textfield in Django Model Admin form?
Change the input widget into a textfield in Django Model Admin form
Note: If you want to read the blog series on Django Admin customization, then click here.
Suppose you have a Book
model which has a description
field as given below.
# app_name/models.py
class Book(models.Model):
...
description = models.CharField(max_length=150)
As you can see above, you have a models.CharField
in a model, and you want to show it as a TextField
or you want to add a custom widget such as Rich Text Widget in the admin, here is how you can change the widget type with the help of formfield_overrides
.
# app_name/admin.py
from django.contrib import admin
from django.db import models
from app_name.models import Book
@admin.register(Book)
class BookAdmin(admin.ModelAdmin):
...
formfield_overrides = {
models.CharField: {
"widget": models.TextField
}
}
Any thoughts? Write it down in the comments.
For more such crispy blogs daily, follow Dev.Junction, subscribe to our newsletter and get notified.