Link related objects in Django admin using decorators
Project description
Django Admin Anchors
Turn Django admin list display items into clickable links to related objects using decorators.
Clicking admin anchors will redirect to a filtered changelist view showing the related objects. This allows you to get a quick overview and run actions on the filtered objects.
Installation
pip install django-admin-anchors
Usage
Take a look at the tests/project
directory to see a runnable example project.
Add links to the object list page
from django.contrib import admin
from admin_anchors import admin_anchor
from yourapp.models import Team
@admin.register(Team)
class TeamAdmin(admin.ModelAdmin):
list_display = ["__str__", "captain_link", "captains_profile_link", "members_link"]
@admin_anchor("captain")
def captain_link(self, instance):
return str(instance.captain)
@admin_anchor("captain.profile")
def captains_profile_link(self, instance):
return "Captains profile"
@admin_anchor("members")
def members_link(self, instance):
return f"{instance.members.count()} members"
Add links to the object update page
from django.contrib import admin
from admin_anchors import admin_anchor
from yourapp.models import Player
@admin.register(Player)
class PlayerAdmin(admin.ModelAdmin):
readonly_fields = ["profile_link"]
@admin_anchor("profile")
def profile_link(self, instance):
return "Profile"
Example project
Take a look at our Django example project under tests/project
.
You can run it by executing these commands:
poetry install
poetry run python tests/project/manage.py migrate
poetry run python tests/project/manage.py createsuperuser
poetry run python tests/project/manage.py runserver
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for django_admin_anchors-4.0.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac114e95bc94e6daad89d31521a04faa62498b0d96388a3f6b6f17498b771c18 |
|
MD5 | 7c6f3a9454670836893940db3d9c42e1 |
|
BLAKE2b-256 | 412a7392fb6f765e0028f4cd07de6ea2d4c0070004e5dd7661c1a49582c06c7a |
Close
Hashes for django_admin_anchors-4.0.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcbef21ba3697bd8eea797e1ab795bb9d0a4e7a284a4027b4567f9b602442e95 |
|
MD5 | 642918ed30d865359e527ab823fd9f40 |
|
BLAKE2b-256 | 96904e1a8aa85f77efac5e80d762993168cfde5bcc7906377bf5519755940720 |