skillfed

django-import-export

Django application and library for importing and exporting data with included admin integration.

django-import-export v4.4.1 3.0M downloads/30d#2,787 on PyPI3,332
Permissive license Copyright (c) Bojan Mihelac and individual contributors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the… (full text in the JSON record) Active released

What it is and what it does

django-import-export is a Django application that lets you move data in and out of your models using common file formats like CSV, JSON, and XLSX. It works both programmatically and through a built-in Django Admin interface, so non-technical users can import or export data without writing code. The package handles reading files, mapping columns to model fields, validating data, and deciding whether to create new records or update existing ones.

It relies on tablib for format support and diff-match-patch for diffing, and integrates with Django's permission system to control who can import or export. It supports foreign keys, many-to-many relationships, custom transformations, and bulk operations. The Admin integration includes a preview step so users can review data before committing it to the database.

Use it for:

  • Bulk-load user or reference data from CSV files into your Django models via the Admin UI.
  • Export model instances to multiple formats (CSV, JSON, XLSX) for reporting or data portability.
  • Set up scheduled imports via cron jobs to sync external data sources into your application.
  • Migrate data between different platforms by exporting from one system and importing into Django.
  • Provide non-technical staff with a UI to manage data imports without direct database access.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Handles import and export of data to and from Django models across multiple file formats (CSV, JSON, XLSX, etc.), with optional Django Admin integration for UI-driven operations.

Yes. The package is actively maintained, has no known vulnerabilities, low install friction, and solves a common Django problem with both programmatic and UI-driven workflows. It's suitable for production use if you need import/export functionality; the BSD license poses no restrictions.

Install

django-import-export on PyPI

pip

pip install django-import-export

uv

uv add django-import-export

poetry

poetry add django-import-export

Installing django-import-export

Before you install

Low friction installation with 3 runtime dependencies. Actively maintained with recent commits and no known vulnerabilities.

License in practice

BSD license (permissive); you can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.

Quickstart

pip install django-import-export

from django_import_export import resources
from django_import_export.admin import ImportExportModelAdmin

class MyModelResource(resources.ModelResource):
    class Meta:
        model = MyModel

class MyModelAdmin(ImportExportModelAdmin):
    resource_class = MyModelResource

Requires Django 4.2 or later and Python 3.9 or later; Django must be installed and configured.

Verify before relying

  • Performance characteristics when importing or exporting very large datasets.
  • Specific validation error messages and how they surface in the Admin UI.
  • Reliability of character encoding handling across different file sources.

Package facts

License Copyright (c) Bojan Mihelac and individual contributors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the… (full text in the JSON record) (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 3 — diff-match-patch, Django, tablib
Maintenance actively maintained — 101 days since the last release
Last repo commit
First released
Downloads 3,017,559/month — #2,787 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: django_import_export-4.4.1-py3-none-any.whl

Keywords: django, import, export

Framework :: DjangoFramework :: Django :: 4.2Framework :: Django :: 5.1Framework :: Django :: 5.2Intended Audience :: DevelopersLicense :: OSI Approved :: BSD LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Software Development

Tags

django data import exportbulk import csv to django modelsdjango admin import exportfile import export djangodjango data migration toolcsv xlsx json django importdjango model bulk operations
django-admin-integrationbulk-data-operationsmulti-format-support

More Software Development packages