django-import-export-extensions
extends the functionality of django-import-export adding the following features:
To install django-import-export-extensions
, run this command in your terminal:
pip install django-import-export-extensions
Add import_export
and import_export_extensions
to INSTALLED_APPS
# settings.py INSTALLED_APPS = ( ..., "import_export", "import_export_extensions", )
Run migrate
command to create ImportJob/ExportJob models and collectstatic
to let Django collect package static files to use in the admin.
python manage.py migrate python manage.py collectstatic
Prepare resource for your model
# apps/books/resources.py from import_export_extensions.resources import CeleryModelResource from .. import models class BookResource(CeleryModelResource): class Meta: model = models.Book
Use CeleryImportExportMixin
class and set resource_classes
in admin model to import/export via Django Admin
# apps/books/admin.py from django.contrib import admin from import_export_extensions.admin import CeleryImportExportMixin from .. import resources @admin.register(models.Book) class BookAdmin(CeleryImportExportMixin, admin.ModelAdmin): resource_classes = [resources.BookResource]
Prepare view sets to import/export via API
# apps/books/api/views.py from .. import resources from import_export_extensions.api import views class BookExportViewSet(views.ExportJobViewSet): resource_class = resources.BookResource class BookImportViewSet(views.ImportJobViewSet): resource_class = resources.BookResource
Don't forget to configure Celery if you want to run import/export in background
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4