Skip to main content

Module to export django querysets as csv files

Project description

Queryset CSV is a simple module to allow Django Querysets to be exported as CSV files.

Installation

pip install intouch-queryset-csv

Then add the app to your installed apps

intouch.queryset_csv

Usage

There are several ways to use the Queryset csv exporter.

Render to response

The most basic usage is to call the function

queryset_as_csv_response

This function accepts a queryset as a parameter, along with a filename and whether the file is to be streamed. It returns an HTTPResponse object, so should be called at the end of a view function to offer the download to the client.

Admin Action

An action is provided for the Django admin site. There are 3 ways of including it:

  1. The function export_model_as_csv can be added to your custom admin class’s actions

  2. The CsvExporterAdmin class can be inherited to provide the action

  3. Setting CSV_EXPORT_ADMIN_ACTION_AVAILABLE=True in your django settings module will make the action available to all registered admin classes.

The action will simply export all objects of the selected model to csv (as a stream)

Why create this code rather than use an existing CSV export project?

  1. Licensing - Other CSV export packages encountered are Licensed under the GNU GPL. The GPL is incompatible with the desired usage, so a this was written from scratch.

  2. Functionality - Existing CSV packages are not designed to handle very large querysets, the option to steam querysets is essential for models with thousands of entries.

  3. Simplicity - This package has no dependencies other than django itself, and the requirements are to be kept to a minimum in future versions (preferably solely django). It is also designed to require as little effort as possible to use.

  4. Currency - The package is written and tested using the latest versions of Python and Django. While it may work with older versions, no special effort will be expended to force compatibility with old versions.

Settings

  1. CSV_EXPORT_ADMIN_ACTION_AVAILABLE - If True, adds the CSV Export action to all admin pages by default

  2. QUERYSET_CSV_DATE_FORMAT - Set the format to use when outputting datetime.datetime objects, defaults to "%d-%m-%Y %H:%M:%S"

Tested Versions

Django versions 1.11-2.2 should be supported, Python 3 versions supported as per the Django releases.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

intouch_queryset_csv-0.3.1.tar.gz (9.2 kB view details)

Uploaded Source

Built Distribution

intouch_queryset_csv-0.3.1-py3-none-any.whl (9.5 kB view details)

Uploaded Python 3

File details

Details for the file intouch_queryset_csv-0.3.1.tar.gz.

File metadata

  • Download URL: intouch_queryset_csv-0.3.1.tar.gz
  • Upload date:
  • Size: 9.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

File hashes

Hashes for intouch_queryset_csv-0.3.1.tar.gz
Algorithm Hash digest
SHA256 4c2884a17872746d127c13b09b41cb6dafa2a58efb2930c3c8ea9bcb23dd432d
MD5 548512efcd10cfd0c7c25dc281da5705
BLAKE2b-256 f9c8caa0b6681bf5da959d6ccde5747f43f8b90ab8e14a8ba2e28da6405392f9

See more details on using hashes here.

File details

Details for the file intouch_queryset_csv-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: intouch_queryset_csv-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 9.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.6

File hashes

Hashes for intouch_queryset_csv-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f1bfbedb3ec1ab58c489a46e949c471c8dc4436807fe9b28626f49ad4abd5191
MD5 34c38d646c7a66e5aba4d0fce0b46b4c
BLAKE2b-256 befc462813ff7d94ac2627023f958d38bc5a5b05c814cd876c9d0a561527f66e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page