IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Django Python Discussion :

Comparaison de liste


Sujet :

Django Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Par défaut Comparaison de liste
    Bonjour a tous, j'aimerai comparé une liste a une liste de donné que je récupère de ma bdd. Tous a l'air de bien fonctionner jusqu'au moment de la comparaison de celle-ci que je fais avec un if in .

    En gros si un des mots qui ce trouve dans ma liste principal ce retrouve dans des enregistrement de ma table, j'aimerai mettre tout les enregistrement concerné dans un tableau pour pouvoir les récupéré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    def page_recherche(request):
        #Ma liste principal
        keywords = ('Fraises', )
     
        items = Item.objects.with_keywords(keywords)
     
     
        return render_to_response('imagin/page-recherche.html',
        {'title': 'Recherche images',
         'attribu_image': items,
             }, 
            context_instance=RequestContext(request)
        )
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    class ItemManager(models.Manager):
        def with_keywords(self, keywords):
            items = Item.objects.all()
            match_items = []
            for item in items:  
                for thesaurus_element in item.thesaurus.all(): # jusqu'ici sa fonctionne
                    if thesaurus_element in keywords:
                        match_items.append(item)
     
            return match_items

    Merci d'avance de m'aider pour mon problème de logique et je suis ouvert a utiliser une autre méthode si jamais vous estimer que j'en ai fais beaucoup pour pas grand chose...

  2. #2
    Membre confirmé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 116
    Par défaut
    Un truc dans ce genre ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> L1 = ['toto','alice', 'bob']
    >>> L2 = ['toto', 'Paul', 'Jean', 'bob']
    >>> [L for L in L1 if L in L2]
    >>> ['toto', 'bob']

  3. #3
    Membre confirmé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 116
    Par défaut
    Et pourquoi ne pas faire tout bêtement un

    Item.objects.filter(thesaurus__in = TaListe)

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Par défaut
    Pour ta première réponse oui c'est sa.

    J'ai penser a faire comme tu me préconise a ta deuxième réponses, mais je reçois un message d'erreur : invalid literal for int() with base 10: 'Fraises'


    Bon tout en sachant que ma liste principal est en réalité un tuple, j'ai essayer en transformant mon tuple en list mais je reçois toujours le même message d'erreur ....

  5. #5
    Membre confirmé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 116
    Par défaut
    Et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Item.objects.filter(thesaurus__keywords__in = list(TonTuple))

    ?

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    263
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 263
    Par défaut
    Euh je crois pas que sa va marcher vu que mon tuple est keywords.



    Edit :

    Effectivement sa me met sa :Cannot resolve keyword 'keywords' into field. Choices are: id, item, name

  7. #7
    Membre confirmé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    116
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 116
    Par défaut
    Tu peux poster tes models ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comparaison 2 listes
    Par moi5252 dans le forum Access
    Réponses: 2
    Dernier message: 27/05/2008, 17h47
  2. Comparaison sur liste chainée
    Par calagan dans le forum C
    Réponses: 9
    Dernier message: 24/07/2007, 21h58
  3. Comparaison de liste
    Par Bourdet dans le forum Langage
    Réponses: 2
    Dernier message: 13/10/2006, 09h50
  4. comparaison de listes chainee
    Par smalto dans le forum C
    Réponses: 5
    Dernier message: 22/09/2006, 18h10
  5. [List][Map?] Comparaison de Lists
    Par yolepro dans le forum Collection et Stream
    Réponses: 8
    Dernier message: 25/08/2006, 17h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo