oui j'ai bien une list d'id_event present dans la table

mais en fait meme ma requete sql est fausse dsl

j'ai besoin de n'afficher qu'une fois par id_event
j'ai disont une dizaine de ligne par id_event mais je n'en voudrai qu'une a
chaque fois donc je doit surement rajouter un critere pour filter sur un
autre champs afin de choisir quel ligne garrder ...



2013/2/6 Florian Strzelecki <[email protected]>

> Hm.
>
> Et qu'est-ce que tu obtiens comme résultat juste en faisant ça :
>
> Gistevent.objects.values('id_event').distinct()
>
> Parce qu'au "pire" tu peux obtenir une liste de id_event distinct qui
> t'intéresse avec une première requête, puis une seconde requête avec le IN.
> Ça te permettra déjà de voir où est le soucis exactement.
>
>
>
> Le 6 février 2013 12:14, Tonton <[email protected]> a écrit :
>
> Merci de ta réponse mais non
>> j'ai toute la table
>>
>>
>> je cherche...
>>
>>
>> 2013/2/6 Florian Strzelecki <[email protected]>
>>
>>> Je réponds de manière naïve (je n'ai pas testé) :
>>>
>>>
>>> Gistevent.objects.filter(id_event__in=Gistevent.objects.values('id_event').distinct()).all()
>>>
>>> Ou quelque chose dans le genre. Le but est de fournir en filtre une
>>> sous-requête SQL.
>>> Le "values" permet de ne sélectionner que le champ "id_event", et le
>>> distinct sans field va juste faire un SELECT DISTINCT basique (et ça
>>> devrait marcher avec MySQL).
>>>
>>> Distinct:
>>> https://docs.djangoproject.com/en/dev/ref/models/querysets/#django.db.models.query.QuerySet.distinct
>>> Values:
>>> https://docs.djangoproject.com/en/dev/ref/models/querysets/#values
>>>
>>> Par contre, je me rends compte que je ne me rappelle plus s'il est
>>> possible de faire des sous-requêtes...
>>> Faudrait que je teste à l'occasion.
>>>
>>>
>>>
>>> Le 6 février 2013 09:54, Tonton <[email protected]> a écrit :
>>>
>>>> Bon s'il il y à du monde alors je pose une question 8)
>>>>
>>>> je voudrai effectuer cette requête
>>>>
>>>> select * from gistevent where id_event in (
>>>>     select distinct id_event from gistevent )
>>>>
>>>>
>>>> id_event contrairement à son nom n'est pas une clé de table
>>>> comment j’écris ça dans django ?
>>>> faut il créer une première requête pour faire une liste sachant que
>>>> mysql ne prend pas le distinct on
>>>>
>>>> Merci
>>>>
>>>> T.
>>>>
>>>> _______________________________________________
>>>> django mailing list
>>>> [email protected]
>>>> http://lists.afpy.org/mailman/listinfo/django
>>>>
>>>
>>>
>>> _______________________________________________
>>> django mailing list
>>> [email protected]
>>> http://lists.afpy.org/mailman/listinfo/django
>>>
>>
>>
>> _______________________________________________
>> django mailing list
>> [email protected]
>> http://lists.afpy.org/mailman/listinfo/django
>>
>
>
> _______________________________________________
> django mailing list
> [email protected]
> http://lists.afpy.org/mailman/listinfo/django
>
_______________________________________________
django mailing list
[email protected]
http://lists.afpy.org/mailman/listinfo/django

Répondre à