2014-08-27 5 views
4

J'ai joué avec django import-export car il semble être le choix évident pour tout ce qui concerne l'import/export lié à django et c'est fantastique. Le problème est que je ne trouve pas beaucoup de docs sur le côté import et que j'aimerais pouvoir l'utiliser pour importer des données et gérer les relations avec les tables. Par exemple, j'ai un système pour un événement de cyclisme, et un événement a une table de divers endroits gérés par un utilisateur. J'aimerais que cet utilisateur puisse importer un fichier de détails pour les personnes qui rempliront ces endroits.Django import-export import de données avec des relations d'objet

Les emplacements où l'utilisateur a un FK dans une autre table pour les cyclistes dans cet événement et le fichier téléchargé contiendrait des détails sur les cyclistes. Cependant, les objets cyclistes peuvent ne pas encore exister.

J'ai travaillé avec django-import-export du point de vue de l'administration, en ciblant des objets modèles spécifiques par ID à partir d'un fichier CSV, mais est-il possible de gérer les relations entre objets? Ma pensée était que de la vue où un utilisateur peut voir leurs places dans un événement et ajouter un cycliste à chacun individuellement ou télécharger un fichier CSV, ils pourraient également télécharger un fichier CSV. Cela contiendrait l'identifiant de chaque lieu et une colonne pour chaque information cycliste que je souhaite recevoir.

Je sais du côté de l'exportation de ce que je pouvais spécifier place__cyclist__name pour obtenir le nom d'un cycliste associé à un lieu. Est-ce la même chose pour importer des données?

+1

Selon mon expérience, il est impossible, vous devez remplacer le before_import fonction. Je l'ai expliqué là: http://stackoverflow.com/questions/28697797/dealing-with-import-of-foreignkeys-in-django-import-export/29071070#29071070 Je ne sais pas s'il y a un Mieux, mais cela fonctionne ... – HydrUra

+1

Je ne pense pas que ce soit impossible car il existe un ForeignKeyWidget qui vous permettra d'utiliser des "clés naturelles" pour l'import et l'export. * – jnns

Répondre

Questions connexes