A simple python module for writing querysets to csv
Project description
a CSV exporter for django querysets.
This tool was created out of repeatedly needing to do the following in django:
write CSV data that is based on simple querysets.
automatically encode unicode characters to utf-8
create a shortcut to render a queryset to a CSV HTTP response
add a time/datestamping mechanism to CSV filenames
usage
Perform all filtering and field authorization in your view using .filter() and .values(). Then, use render_to_csv_response to turn a queryset into a respone with a CSV attachment. Pass it a QuerySet or ValuesQuerySet instance:
from djqscsv import render_to_csv_response def csv_view(request): qs = Foo.objects.filter(bar=True).values('id', 'bar') return render_to_csv_response(qs)
foreign keys
Foreign keys are supported natively using ValuesQuerySet in Django. Simply use the __ technique as you would in the Django ORM when you pass args to the .values() method.
models.py:
from django.db import models class Food(models.Model): name = models.CharField(max_length=20) class Person(models.Model): name = models.CharField(max_length=20) favorite_food = models.ForeignKey(Food)
views.py:
from djqscsv import render_to_csv_response def csv_view(request): people = Person.objects.values('name', 'favorite_food__name') return render_to_csv_response(people)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Hashes for django-queryset-csv-0.2.7.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | bc89052e4fd2c4f91fb8f6f73b49db3cff872ee4b2f5b5818d3ca2b6492c6c89 |
|
MD5 | 6307cd4c76038579105fe61ddb9945dc |
|
BLAKE2b-256 | c2f43da701f66785382ef39d859ab7bee8e2b8005039cd5ae88542d849be39bd |