Vous n'êtes pas identifié(e).
Bonjour
je voudrai faire une requete pouvant etre null en retour
listreponse = get_list_or_404(Table, attribut=valeur)
if (listreponse != None) :
faitce qui faut
else:
renvoi y a pas de réponse
ça semble tout simple mais il semblerait qu'une requete doit avoir un retour
sinon django braille s.m.
j'ai essayé
listreponse = Table.object.get( attribut=valeur)
mais là deux reponses ne semble pas lui plaire
si quelqu'un pouvait me soufler la synthaxe cela m'aiderait je crois !
tonton
Hors ligne
Le 17/02/11 16:53, Tonton a écrit :
> Bonjour
Bonjour,
> je voudrai faire une requete pouvant etre null en retour
>
> listreponse = get_list_or_404(Table, attribut=valeur)
Ca c'est ok
> if (listreponse != None) :
> faitce qui faut
> else:
> renvoi y a pas de réponse
get_list_or_404 est un raccourcit permettant de retourner directement
une erreur HTTP 404 si aucun enregistrement ne correspond à la requête.
Il suffit donc de faire quelque chose comme:
listreponse = get_list_or_404(Table, attribut=valeur)
for item in listreponse:
[...]
Hors ligne
Pfff c'est dans al docs :op
listreponse = Table.objects.filter(attribut=valeur)
et apres
if !=none
for t in listreponse
cool !
tonton
2011/2/17 Tonton <to.tonton _AT_ gmail.com>
> --
> Jonathan Leroy.
> get_list_or_404 est un raccourcit permettant de retourner directement une
> erreur HTTP 404 si aucun enregistrement ne correspond à la requête.
>
>> Il suffit donc de faire quelque chose comme:
>>
>> listreponse = get_list_or_404(Table, attribut=valeur)
>>
>> for item in listreponse:
>> [...]
>>
>>
>
>>
>> sauf que je ne souhaite pas une page 404 si la requete ne retourne rien
>> mais
>>
> utiliser le fait que la réponse soit vide !
>
>
Hors ligne
Salut,
Quand tu fais une requête pour séléctionner plusieurs objets, si la requêt ne
renvoie aucun résultat, ça te renvoi un QuerySet vide qui est assimilable à
une liste vide donc un simple len(machin) te permet de savoir si t'a requête
aboutie à des résultats :
listreponse = get_list_or_404(Table, attribut=valeur)
if len(listreponse) > 0:
faitce qui faut
else:
renvoi y a pas de réponse
> j'ai essayé
> listreponse = Table.object.get( attribut=valeur)
"Model.objects.get(...)" sert à récupérer uniquement un objet, si il en trouve
plusieurs correspondant à tes motifs de requête, il remonte une exception
spécifique et s'il ne retrouve pas d'objet du tout, il remonte une exception du
type "Model.DoesNotExist".
Le jeudi 17 février 2011 16:53:51, Tonton a écrit :
> Bonjour
>
> je voudrai faire une requete pouvant etre null en retour
>
> listreponse = get_list_or_404(Table, attribut=valeur)
>
> if (listreponse != None) :
> faitce qui faut
> else:
> renvoi y a pas de réponse
>
> ça semble tout simple mais il semblerait qu'une requete doit avoir un
> retour sinon django braille s.m.
>
> j'ai essayé
> listreponse = Table.object.get( attribut=valeur)
> mais là deux reponses ne semble pas lui plaire
>
> si quelqu'un pouvait me soufler la synthaxe cela m'aiderait je crois !
>
> tonton
Hors ligne
oui ou
if (listreponse.count() != o )
else
merci
2011/2/17 David THENON <david.thenon _AT_ wanadoo.fr>
> Salut,
>
> Quand tu fais une requête pour séléctionner plusieurs objets, si la requêt
> ne
> renvoie aucun résultat, ça te renvoi un QuerySet vide qui est assimilable à
> une liste vide donc un simple len(machin) te permet de savoir si t'a
> requête
> aboutie à des résultats :
>
> listreponse = get_list_or_404(Table, attribut=valeur)
> if len(listreponse) > 0:
> faitce qui faut
> else:
> renvoi y a pas de réponse
>
> > j'ai essayé
> > listreponse = Table.object.get( attribut=valeur)
>
> "Model.objects.get(...)" sert à récupérer uniquement un objet, si il en
> trouve
> plusieurs correspondant à tes motifs de requête, il remonte une exception
> spécifique et s'il ne retrouve pas d'objet du tout, il remonte une
> exception du
> type "Model.DoesNotExist".
>
> Le jeudi 17 février 2011 16:53:51, Tonton a écrit :
> > Bonjour
> >
> > je voudrai faire une requete pouvant etre null en retour
> >
> > listreponse = get_list_or_404(Table, attribut=valeur)
> >
> > if (listreponse != None) :
> > faitce qui faut
> > else:
> > renvoi y a pas de réponse
> >
> > ça semble tout simple mais il semblerait qu'une requete doit avoir un
> > retour sinon django braille s.m.
> >
> > j'ai essayé
> > listreponse = Table.object.get( attribut=valeur)
> > mais là deux reponses ne semble pas lui plaire
> >
> > si quelqu'un pouvait me soufler la synthaxe cela m'aiderait je crois !
> >
> > tonton
>
> --
> Cordialement,
> David THENON.
> _______________________________________________
> django mailing list
> django _AT_ lists.afpy.org
> http://lists.afpy.org/mailman/listinfo/django
>
Hors ligne
Le 17/02/11 17:54, Tonton a écrit :
> oui ou
> if (listreponse.count() != o )
> else
En python un simple "if not" suffit à tester si la valeur d'une variable
est nulle ( == '', None, 0...)
if not listreponse:
...
else:
...
Hors ligne
Oui par contre ajouter ".count()" à ton queryset initial te fait faire une
requête supplémentaire (du moins si tu comptes traiter le queryset après) pour
utiliser un count SQL.
Mais c'est effectivement plus léger coté SQL que d'exécuter le queryset initial
pour évaluer le nombre de ses éléments.
Le jeudi 17 février 2011 17:54:47, Tonton a écrit :
> oui ou
> if (listreponse.count() != o )
> else
>
> merci
>
> 2011/2/17 David THENON <david.thenon _AT_ wanadoo.fr>
>
> > Salut,
> >
> > Quand tu fais une requête pour séléctionner plusieurs objets, si la
> > requêt ne
> > renvoie aucun résultat, ça te renvoi un QuerySet vide qui est assimilable
> > à une liste vide donc un simple len(machin) te permet de savoir si t'a
> > requête
> > aboutie à des résultats :
> >
> > listreponse = get_list_or_404(Table, attribut=valeur)
> >
> > if len(listreponse) > 0:
> > faitce qui faut
> >
> > else:
> > renvoi y a pas de réponse
> >
> > > j'ai essayé
> > > listreponse = Table.object.get( attribut=valeur)
> >
> > "Model.objects.get(...)" sert à récupérer uniquement un objet, si il en
> > trouve
> > plusieurs correspondant à tes motifs de requête, il remonte une exception
> > spécifique et s'il ne retrouve pas d'objet du tout, il remonte une
> > exception du
> > type "Model.DoesNotExist".
> >
> > Le jeudi 17 février 2011 16:53:51, Tonton a écrit :
> > > Bonjour
> > >
> > > je voudrai faire une requete pouvant etre null en retour
> > >
> > > listreponse = get_list_or_404(Table, attribut=valeur)
> > >
> > > if (listreponse != None) :
> > > faitce qui faut
> > >
> > > else:
> > > renvoi y a pas de réponse
> > >
> > > ça semble tout simple mais il semblerait qu'une requete doit avoir un
> > > retour sinon django braille s.m.
> > >
> > > j'ai essayé
> > > listreponse = Table.object.get( attribut=valeur)
> > > mais là deux reponses ne semble pas lui plaire
> > >
> > > si quelqu'un pouvait me soufler la synthaxe cela m'aiderait je crois !
> > >
> > > tonton
> >
> > --
> > Cordialement,
> > David THENON.
> > _______________________________________________
> > django mailing list
> > django _AT_ lists.afpy.org
> > http://lists.afpy.org/mailman/listinfo/django
Hors ligne