Django
Django Admin
ModelAdmin, inlines, and actions
Django Admin
# tasks/admin.py
from django.contrib import admin
from .models import Project, Task, Tag
class TaskInline(admin.TabularInline):
model = Task
extra = 0
@admin.register(Project)
class ProjectAdmin(admin.ModelAdmin):
list_display = ("name", "owner", "created_at")
list_filter = ("owner",)
search_fields = ("name",)
inlines = [TaskInline]
@admin.register(Task)
class TaskAdmin(admin.ModelAdmin):
list_display = ("title", "project", "priority", "is_done")
list_filter = ("is_done", "priority", "project")
search_fields = ("title",)
actions = ["mark_done"]
@admin.action(description="Mark selected as done")
def mark_done(self, request, queryset):
queryset.update(is_done=True)
Staff use admin for support; product UI still uses your views and permissions.