Добавьте метод ModelAdmin в list_display и возвращайте безопасно сформированную ссылку через format_html(). URL формы строят reverse() по имени admin-маршрута, а не конкатенацией строки.
Как в Django Admin реализовать ссылочный переход на формы/страницы в changelist?
Добавьте метод ModelAdmin в list_display и возвращайте безопасно сформированную ссылку через format_html(). URL формы строят reverse() по имени admin-маршрута, а не конкатенацией строки.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Добавьте метод ModelAdmin в list_display и возвращайте безопасно сформированную ссылку через format_html(). URL формы строят reverse() по имени admin-маршрута, а не конкатенацией строки.
Пример метода для существующей модели app.Item:
@admin.display(description='Открыть')
def edit_link(self, obj):
url = reverse('admin:app_item_change', args=[obj.pk])
return format_html('<a href="{}">Изменить</a>', url)
Нужны импорты admin, reverse и format_html, а edit_link включают в list_display. Для обычной ссылки на объект часто достаточно list_display_links. Собственные страницы подключают через get_urls и admin_site.admin_view; проверка доступа обязательна, наличие ссылки прав не выдаёт.