Django-fr

Forum

#1 21-09-2012 11:35:46

cyp
Membre
Inscription : 05-07-2011
Messages : 2

Outrepasser une ligne en doublon lors d'un insert

Bonjour,

Je souhaite importer un fichier JSON dans ma base de données. Ce fichier JSON est composé de ligne en
doublon. Dans mes modèles les champs Title et Slug doivent être unique. Lors de l'import la boucle se
plante inévitablement wink.

Avez vous des idées pour que mon programme puisse ignorer la ligne en doublon et passer à la ligne
suivante ? Avec ma petite tête je me dis que le programme peut vérifier si la ligne existe déjà dans
la base. Celà risque d'être gourmand!

Je ne souhaite pas avoir à nettoyer les doublons à la main et je ne souhaite pas non plus supprimer
unique pour les champs Title et Slug.

Avez vous une idée ?

Hors ligne

#2 21-09-2012 11:46:40

SBillion
Membre
Lieu : grenoble
Inscription : 05-08-2011
Messages : 43
Site Web

Re : Outrepasser une ligne en doublon lors d'un insert

Bonjour,

Alors le plus efficace est d'éviter les doublons dans le fichier JSON bien
entendu, donc de demander à celui qui le génère d'arrêter de faire
n'importe quoi...
Sinon, si j'ai bien compris, les doublons sont dans le fichiers traité,
donc traite le fichier avant d'insérer quoique ce soit. Tu parse le fichier
et en jouant avec notre vieil ami python et sa manipulation des Strings +
regex, tu n'insères plus de doublons dans ta base...
Après si ta base de donnée possède des lignes qui sont également dans ton
JSON, alors tu n'as pas d'autres choix que de checker si la ligne exisite
dans ta base.
Il y a sûrement d'autres solutions mais c'est ce que je vois de plus
évident.

Cordialement,
Seb



Le 21 septembre 2012 12:35, cyp <cyp _AT_ rouquin.me> a écrit :

> Bonjour,
>
> Je souhaite importer un fichier JSON dans ma base de données. Ce fichier
> JSON est composé de ligne en doublon. Dans mes modèles les champs Title et
> Slug doivent être unique. Lors de l'import la boucle se plante
> inévitablement wink.
>
> Avez vous des idées pour que mon programme puisse ignorer la ligne en
> doublon et passer à la ligne suivante ? Avec ma petite tête je me dis que
> le programme peut vérifier si la ligne existe déjà dans la base. Celà
> risque d'être gourmand!
>
> Je ne souhaite pas avoir à nettoyer les doublons à la main et je ne
> souhaite pas non plus supprimer unique pour les champs Title et Slug.
>
> Avez vous une idée ?
> --
>
> ++
>
> Cyp
> ______________________________**_________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/**listinfo/django<http://lists.afpy.org/mailman/listinfo/django>
>

Hors ligne

#3 21-09-2012 14:40:42

cyp
Membre
Inscription : 05-07-2011
Messages : 2

Re : Outrepasser une ligne en doublon lors d'un insert

L'idée semble me venir. Si je traite le fichier en amont pour virer les doublons puis dans un second
temps importer le fichier propre çà doit être jouable.

Merci

Le 21/09/2012 12:46, Sébastien Billion a écrit :
> Bonjour,
>
> Alors le plus efficace est d'éviter les doublons dans le fichier JSON bien entendu, donc de demander à
> celui qui le génère d'arrêter de faire n'importe quoi...
> Sinon, si j'ai bien compris, les doublons sont dans le fichiers traité, donc traite le fichier avant
> d'insérer quoique ce soit. Tu parse le fichier et en jouant avec notre vieil ami python et sa
> manipulation des Strings + regex, tu n'insères plus de doublons dans ta base...
> Après si ta base de donnée possède des lignes qui sont également dans ton JSON, alors tu n'as pas
> d'autres choix que de checker si la ligne exisite dans ta base.
> Il y a sûrement d'autres solutions mais c'est ce que je vois de plus évident.
>
> Cordialement,
> Seb
>
>
>
> Le 21 septembre 2012 12:35, cyp <cyp _AT_ rouquin.me <mailto:cyp _AT_ rouquin.me>> a écrit :
>
>     Bonjour,
>
>     Je souhaite importer un fichier JSON dans ma base de données. Ce fichier JSON est composé de ligne
>     en doublon. Dans mes modèles les champs Title et Slug doivent être unique. Lors de l'import la
>     boucle se plante inévitablement wink.
>
>     Avez vous des idées pour que mon programme puisse ignorer la ligne en doublon et passer à la ligne
>     suivante ? Avec ma petite tête je me dis que le programme peut vérifier si la ligne existe déjà
>     dans la base. Celà risque d'être gourmand!
>
>     Je ne souhaite pas avoir à nettoyer les doublons à la main et je ne souhaite pas non plus
>     supprimer unique pour les champs Title et Slug.
>
>     Avez vous une idée ?
>     --
>
>     ++
>
>     Cyp
>     _________________________________________________
>     django mailing list
>     django _AT_ lists.afpy.org <mailto:django _AT_ lists.afpy.org>
>     http://lists.afpy.org/mailman/__listinfo/django <http://lists.afpy.org/mailman/listinfo/django>
>
>
>
>
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>

Hors ligne

Pied de page des forums