--- id: django-object-actions version: "5.1.2" license: Apache-2.0 license_treatment: permissive maintenance: active --- # django-object-actions — A Django app for adding object tools for models in the admin License: permissive · Maintenance: active · Downloads: 1.6M/mo ## What it is and what it does Django Object Actions extends Django's admin interface to let you define custom action buttons that operate on individual model instances, not just querysets. Instead of writing custom admin views or monkey-patching the change form, you decorate methods with @action and register them in change_actions or changelist_actions attributes, much like Django's built-in admin actions but tailored to single objects. The package handles rendering buttons on the detail and list pages, routing requests to your action methods, and optionally rendering confirmation forms or intermediate pages. It supports both GET and POST methods, custom labels and tooltips, conditional action visibility, and can redirect to external URLs or return custom responses. No runtime dependencies means minimal installation friction. Use it for: - Add a 'Publish' button to article admin that publishes a single article without leaving the detail page. - Create a 'Send Email' action on user objects that triggers a confirmation form before sending. - Build a 'Duplicate' action that clones an object and redirects to the new instance's edit page. - Add bulk 'Mark as Reviewed' actions to a changelist that operate on querysets like standard admin actions. - Implement conditional actions that only appear for superusers or when an object meets certain state criteria. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Adds custom action buttons to Django admin object detail and changelist pages, letting you define per-object tools alongside standard admin actions. Yes. Low install friction, no dependencies, active maintenance, permissive license, and a clear use case for Django projects that need per-object admin tools. The API mirrors Django's native admin actions, making it easy to adopt. Install if you want custom buttons on admin detail pages without building custom views. ## Install pip install django-object-actions uv add django-object-actions poetry add django-object-actions ## Installing django-object-actions Before you install: Low friction install with no runtime dependencies. Active maintenance with recent releases; last commit 2026-05-29 and 812 repository stars indicate ongoing support. License in practice: Apache-2.0 permissive license allows commercial and private use with minimal restrictions; attribution required. Quickstart: pip install django-object-actions # In admin.py from django_object_actions import DjangoObjectActions, action class ArticleAdmin(DjangoObjectActions, admin.ModelAdmin): @action(label="Publish") def publish_this(self, request, obj): obj.status = 'published' obj.save() change_actions = ("publish_this",) Requires Django to be installed; add django_object_actions to INSTALLED_APPS or manually copy its template file. Verify before relying: - Whether the package works with all currently-supported Django versions (fact sheet lists Python support but not Django version constraints) ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 1.6M/month (top 5,000 on PyPI) - Known vulnerabilities: none known ## Tags django admin custom actions, django admin object tools, django admin per-object buttons, django model admin actions, django admin detail page actions, django-admin, admin-ui [View on SkillFed](https://skillfed.io/packages/django-object-actions) · [View on PyPI](https://pypi.org/project/django-object-actions/)