[Django] Importer et exporter des tables DB au format Excel ou CSV

Que mettre en œuvre

  1. Ajoutez le bouton suivant à l'écran de l'administrateur. --Importer --Exportation
  2. Contrôlez l'affichage avec l'autorité de la table DB. --Import: autorisation d'écriture requise --Export: tout le monde est OK

Celles-ci sont réalisées avec une bibliothèque appelée django-import-export. Ceci est un article de synthèse sur l'utilisation de django-import-export (méthode d'introduction).

Compte privilégié

Cette fois, j'ai créé un compte avec les privilèges suivants.

--admin: pleine autorité --guest: Afficher l'autorisation uniquement

Écran d'affichage

Lorsque vous êtes connecté en tant qu'administrateur

image.png←このボタンが追加される image.png

Lorsque vous êtes connecté en tant qu'invité

image.png←このボタンが追加される

image.png

Écran d'importation

Le format est le suivant. Abondant. image.png

Écran d'exportation

Le format est le suivant. Encore plus abondant que l'importation. image.png

la mise en oeuvre

Installation

django-import-export https://django-import-export.readthedocs.io/en/latest/

pip install django-import-export

Écrivez dans setting.py

setting.py


#Application installée
INSTALLED_APPS = (
    ...
    'import_export',
)

#Définir que la fonction d'importation sur le site de gestion nécessite une autorisation
IMPORT_EXPORT_IMPORT_PERMISSION_CODE = 'change'

Exportation de fichiers statiques

python manage.py collectstatic

Écrivez dans admin.py

En supposant qu'il existe une table nommée Book dans model.py

admin.py


from django.contrib import admin
from import_export import resources
from import_export.admin import ImportExportModelAdmin
from .models import *


#Ressource
class BookResource(resources.ModelResource):
    class Meta:
        model = Book

#la gestion
class BookAdmin(ImportExportModelAdmin):
    resource_class = BookResource

#enregistrement
admin.site.register(Book, BookAdmin)

une chose

Simple et hautement fonctionnel! Génial. Cette fois, tous les fichiers ont été exportés, mais il semble que vous puissiez également filtrer. Je veux contester.

Recommended Posts

[Django] Importer et exporter des tables DB au format Excel ou CSV
Excel, import / export csv avec Django
Exporter les tables Amazon RDS au format CSV
Exporter les données DB au format json
Enregistrer les séries chronologiques TOPIX au format pickle, csv, Excel
Comment convertir des fichiers Json au format CSV ou au format EXCEL
Formatez le journal Git et obtenez le nom du fichier validé au format csv
Exporter et exporter des fichiers en Python