Django-fr

Forum

#1 29-03-2011 16:04:53

Tonton
Membre
Inscription : 20-09-2010
Messages : 75

commit pas trop

Bonjour
Dans une methode  , j'efface une liste comme ceci

        cursor=connection.cursor()
        cursor.execute("DELETE from ONLY matable where id_ump="+leid)

if (yen as plus ):
    cursor.commit()
    return (le truc de retour)

if (yen a encore)
    pour chaque machin de la liste :
        raoul= MonObjetlist( monobjet.id=machin.id .....)
        raoul.save()
ainsi j'actualise ma liste sans doublon et pas de trop. . .

ça marche que si je laisse un element dans ma liste donc le
     cursor.commit() sert a rien

auriez vous une idée ?

tonton

Hors ligne

#2 29-03-2011 20:28:48

Bruno Bord
Membre
Inscription : 11-08-2010
Messages : 25

Re : commit pas trop

>
>         cursor=connection.cursor()
>         cursor.execute("DELETE from ONLY matable where id_ump="+leid)
>
> if (yen as plus ):
>     cursor.commit()
>     return (le truc de retour)
>
> if (yen a encore)
>     pour chaque machin de la liste :
>         raoul= MonObjetlist( monobjet.id=machin.id .....)
>         raoul.save()
> ainsi j'actualise ma liste sans doublon et pas de trop. . .

Au secours !

Je pense que tu devrais **sérieusement** te pencher sur la
documentation concernant l'ORM de Django :

http://docs.djangoproject.com/en/1.3/topics/db/queries/

Utiliser SQL pour des requêtes simples n'est pas la "bonne méthode".
Les objets à ta disposition dans Django permettent :

* d'exécuter bon nombres d'opérations avec la même syntaxe, quel que
soit le système de base de données choisi
* de sécuriser les requêtes (échapper les injections SQL, par exemple)
* de pouvoir manipuler (création, suppression, modification,
sélection) tes objets de manière uniforme dans toutes tes applications

etc.

Suppression : http://docs.djangoproject.com/en/1.3/topics/db/queries/#deleting-objects

--
No'

Hors ligne

#3 30-03-2011 08:51:20

Tonton
Membre
Inscription : 20-09-2010
Messages : 75

Re : commit pas trop

Utiliser SQL pour des requêtes simples n'est pas la "bonne méthode".
Les objets à ta disposition dans Django permettent :


J'obtiens exactemnt la meme problématique avec

Matable.objects.all().delete()

l'ajout  ou la modification d'un membre de la liste aucun probleme a
condition de recreer au moins un membre

il faut donc confirmer que l'on souhaite voir la table vide ?

merci pour l'info
Tonton

Suppression :
http://docs.djangoproject.com/en/1.3/topics/db/queries/#deleting-objects

>
> --
>

Hors ligne

#4 30-03-2011 09:30:44

Bruno Bord
Membre
Inscription : 11-08-2010
Messages : 25

Re : commit pas trop

> J'obtiens exactemnt la meme problématique avec
>
> Matable.objects.all().delete()
>
> l'ajout  ou la modification d'un membre de la liste aucun probleme a
> condition de recreer au moins un membre
>
> il faut donc confirmer que l'on souhaite voir la table vide ?

J'avoue que là, je ne comprends pas exactement ton problème. Il
faudrait que tu expliques exactement ce que tu veux faire, ton exemple
du début ne m'a pas vraiment éclairé. Si c'est une histoire de
logique, il faudrait décrire le scénario que tu veux reproduire, ça
pourrait :

a - m'aider à comprendre ton soucis
b - t'aider à comprendre ton erreur

Hors ligne

#5 30-03-2011 10:44:15

Tonton
Membre
Inscription : 20-09-2010
Messages : 75

Re : commit pas trop

humm resolu tu avais raison encore faut il modifier le bon fichier yikes(

Matable.objects.filter(id_truc =truc1).delete()

merci encore

Hors ligne

Pied de page des forums