from django.contrib import admin
from .models import YourModel
class YourModelAdmin(admin.ModelAdmin):
list_display = ('field1', 'field2', 'field3')
search_fields = ('field1', 'field2')
list_filter = ('field1', 'field2')
ordering = ('field1',)
fieldsets = (
(None, {
'fields': ('field1', 'field2', 'field3')
}),
('Advanced Options', {
'classes': ('collapse',),
'fields': ('field4', 'field5')
}),
)
readonly_fields = ('field6',)
def get_readonly_fields(self, request, obj=None):
if obj and obj.field1 == 'some_value':
return ('field6',)
return super().get_readonly_fields(request, obj)
def get_prepopulated_fields(self, request, obj=None):
return {'field2': ('field1',)}
admin.site.register(YourModel, YourModelAdmin)