pulseapi/utility/get_admin_url.py (9 lines of code) (raw):

from django.urls import reverse from django.contrib.contenttypes.models import ContentType def get_admin_url(instance): content_type = ContentType.objects.get_for_model(instance.__class__) route = 'admin:{}_{}_change'.format( content_type.app_label, content_type.model ) return reverse(route, args=(instance.id,))