Skip to main content

Django-admin-action to export items as csv-formatted data.

Project description

https://travis-ci.com/thomst/django-admin-csvexport.svg?branch=master https://coveralls.io/repos/github/thomst/django-admin-csvexport/badge.svg?branch=master python: 3.4, 3.5, 3.6, 3.7, 3.8 django: 1.11, 2.0, 2.1, 2.2, 3.0

Description

Django-admin-csvexport is a django-admin-action, that allows you to export the items of your django-admin changelist as csv-formatted data.

Features

  • selectable model-fields
  • related models included
  • customizable csv-format
  • view or download csv-data

Installation

Install from pypi.org:

pip install django-admin-csvexport

Add csvexport to your installed apps:

INSTALLED_APPS = [
    'csvexport',
    ...
]

Add csvexport to the actions of your modeladmin:

from csvexport.actions import csvexport

class MyModelAdmin(admin.ModelAdmin):
    ...
    actions = [csvexport]

Configuration

The following settings determine the depth of the model references and the value to display for empty fields:

CSV_EXPORT_REFERENCE_DEPTH = 3
CSV_EXPORT_EMPTY_VALUE = ''

The following settings define the csv-format to be used. The default values meet the unix standard csv-format:

CSV_EXPORT_DELIMITER = ','
CSV_EXPORT_ESCAPECHAR = ''
CSV_EXPORT_QUOTECHAR = '"'
CSV_EXPORT_DOUBLEQUOTE = True
CSV_EXPORT_LINETERMINATOR = r'\n'
CSV_EXPORT_QUOTING = 'QUOTE_ALL'

For the newline escape sequence use a raw-string.

For CSV_EXPORT_QUOTING use the name of one of these csv module constants:

The csv-format can also be adjusted by the formular rendered by the csvexport admin-action. If there is no need to adjust the csv-format on each export use:

CSV_EXPORT_FORMAT_FORM = False

The formular can also be extended by a checkbox which allows to filter the resulting csv rows to be unique. Therefore use:

CSV_EXPORT_UNIQUE_FORM = True

With the following additional parameters for your ModelAdmin you could limit the fields offered by the export form and choose them to be preselected:

class MyModelAdmin(admin.ModelAdmin):
    csvexport_export_fields = [
        'field_a',
        'field_b,
        'relational_field.field_a_on_related_model',
        ...
    ]
    csvexport_selected_fields = [
        'field_a',
        'field_b,
        'relational_field.field_a_on_related_model',
        ...
    ]

Fields of related models could be referenced by using a dot between the relational fields and the fields to be exported: 'relation_a.relation_b.any_field'. Not defining csvexport_export_fields means all possible fields will be regarded.

Usage

Just use it as any django-admin-action: Select your items, choose csvexport from the admin-action-bar and go. You will be led to a formular that allows you to view or download your items as csv-data.

Download files

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

Files for django-admin-csvexport, version 1.9
Filename, size File type Python version Upload date Hashes
Filename, size django_admin_csvexport-1.9-py3-none-any.whl (10.2 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size django-admin-csvexport-1.9.tar.gz (9.2 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page