Generar CSV de Queryset Django

Muchas veces, cuando preparas dashboards o paneles de administración similares suelen solicitar tener la opción de generar CSV a partir de un listado. Una forma muy sencilla es utilizar el módulo desarrollado por Azavea(http://www.azavea.com/). Más info en e instrucciones de uso en: https://github.com/azavea/django-queryset-csv

Vamos a ver un ejemplo rápido, para imprimir queryset de Usuarios en CSV en django

pip install django-queryset-csv

views.py

import djqscsv
@login_required
def render_csv(request, pk):
    qs = Usuarios.objects.all().values('nombre', 'apellidos', 'dni')
    return djqscsv.render_to_csv_response(qs)

OJO, no devolvemos el queryset como tal, sino values_list

urls.py

url(r'^csv/$', 'user.views.render_csv', name="render_csv"),

Esto es todo. Se nos generará un csv con el listado de usuarios con los 3 campos indicados. ;-)