Admin

Admin

Register Models in Admin

from django.contrib import admin
from .models import ExampleModel

@admin.register(ExampleModel)
class ExampleModelAdmin(admin.ModelAdmin):
    list_display = ('name', 'description')
    search_fields = ('name',)

Customize Admin Interface

ModelAdmin Options

from django.contrib import admin
from .models import ExampleModel

@admin.register(ExampleModel)
class ExampleModelAdmin(admin.ModelAdmin):
    list_display = ('name', 'description')
    search_fields = ('name',)
    list_filter = ('name',)
    ordering = ('name',)
    fields = ('name', 'description')
    readonly_fields = ('created_at',)

Inlines

from django.contrib import admin
from .models import ExampleModel, RelatedModel

class RelatedModelInline(admin.TabularInline):
    model = RelatedModel
    extra = 1

@admin.register(ExampleModel)
class ExampleModelAdmin(admin.ModelAdmin):
    inlines = [RelatedModelInline]

Custom Actions

from django.contrib import admin
from .models import ExampleModel

@admin.register(ExampleModel)
class ExampleModelAdmin(admin.ModelAdmin):
    actions = ['make_published']

    def make_published(self, request, queryset):
        queryset.update(status='published')
    make_published.short_description = "Mark selected stories as published"
Back to top