Non mais c'est sur que le IN va retourner toutes les lignes.

Moi ce que je ne comprends pas c'est le but de cette requête ?
À mon avis il y a un problème de modèle de données pour en arriver à ce genre de requêtes.

Cordialement,

Rémy

Le 06/02/2013 14:21, Florian Strzelecki a écrit :
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] <mailto:[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]
    <mailto:[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]
        <mailto:[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] <mailto:[email protected]>
            http://lists.afpy.org/mailman/listinfo/django



        _______________________________________________
        django mailing list
        [email protected] <mailto:[email protected]>
        http://lists.afpy.org/mailman/listinfo/django



    _______________________________________________
    django mailing list
    [email protected] <mailto:[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 à