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

Répondre à