if header: writer.writerow(list(field_names)) for obj in queryset: writer.writerow([unicode(getattr(obj, field)).encode("utf-8","replace") for field in field_names]) return response export_as_csv.short_description = description return export_as_csv""" def eliminar_usuario(modeladmin,request,queryset): queryset.delete() eliminar_usuario.short_description = 'Eliminar registros seleccionados' custom_site = AdminSite() custom_site.disable_action('delete_selected') custom_site.add_action(eliminar_usuario) """custom_site.add_action(export_as_csv_action())""" """ Clase ChangeList modificada, con la finalidad de poder establecer la direccion que aparecera en los listados, dado el proyecto generico que se realiza """ class CustomChangeList(ChangeList): # Metodo que permite generar la liga de retorno def url_for_result(self,result): name = self.model.__name__ pk = getattr(result,self.pk_attname) return reverse( 'editar',