[Import module] Import basique de données
Objectif
Réussir un import via l'interface Web de dbChiroWeb à partir d'un échantillon standardisé et valide (environ 10000 lignes).
-
Créer une table des imports pour suivre et logger les imports effectués. Une clé étrangère sera ajoutée à chacune des tables concernées de l'applications
sights
. Chaque import sera identifié par un id unique (UUID ou PK). Ce modèle contiendra a minima les champs suivants:-
id
integer primary key, non nul -
uuid
UUID v4, non nul -
timestamp_start
, timestamp, non nul -
created_by
, FK vers accounts.profile -
state
, ENUM Etat > Success, Error.
-
-
Développer une interface web pour uploader le fichier de données (url
/import/new
) -
Mettre en place un dispositif de file d'attente (faire des propositions à discuter ensemble) pour traiter l'import en tâche de fond
-
Rediriger a lancement de l'import vers une page de suivi de l'import (url
/import/<id ou uuid>/track
) - (cf #72). -
Générer les données pour les différents modèles depuis le fichier fourni:
- Métasite (optionnel) > modèle
sights.models.MetaPlace
- Localité > modèle
sights.models.Place
- Session > modèle
sights.models.Session
- Observations > modèle
sights.models.Sighting
- Dénombrement > modèle
sights.models.CountDetail
- Métasite (optionnel) > modèle
-
Importer les données en base avec Django.