Администратор Django - как получить ссылку на удаление объекта в списке изменений? - PullRequest
0 голосов
/ 19 марта 2012

Есть ли возможность получить URL удаления объекта в Django Admin, в списке изменений template (change_list_results.html)? Я должен добавить значки (редактировать / удалить) в список результатов и попытаться получить эти ссылки для объекта.

1 Ответ

1 голос
/ 19 марта 2012

Удалить URL для конкретного экземпляра можно через:

info = obj._meta.app_label, obj._meta.module_name
reverse('admin:%s_%s_delete' % info, args=(obj.id,))

Итак, просто добавьте метод к вашему ModelAdmin, чтобы вернуть этот URL, завернутый в соответствующий HTML:

def delete_link(self, obj):
    info = obj._meta.app_label, obj._meta.module_name
    url = reverse('admin:%s_%s_delete' % info, args=(obj.id,))
    return '<a href="%s">Delete</a>' % url
delete_link.allow_tags = True
delete_link.short_description = 'Delete'

И затем добавьте это к list_display, как и любое другое поле в вашей модели.

...