Удалить 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
, как и любое другое поле в вашей модели.