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.5.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f5b461b56eb920054f9fa5041db713bc8303d4de26b5e412bb52b193d2c728c |
|
MD5 | 3695c66f22adf7b1bd06c928e8ece9a5 |
|
BLAKE2b-256 | 9605670c9ad2a6e71c7e4f89242d84b294f28547782b2cd374e8a8651c8efe20 |