Django-fr

Forum

#1 21-05-2014 08:03:49

pierre67
Membre
Inscription : 21-05-2014
Messages : 1

probleme group by dans views

bonjour

bonjour, je voudrais afficher dans une liste html les thématiques d'un catalogue de livre

j'ai le modele suivant:

class catalogue(models.Model):
    livre = models.CharField(max_length=100)
    auteur = models.CharField(max_length=42)
    description = models.TextField(null=True)
    annee= models.IntegerField(max_length=4) 
    thematique = models.ForeignKey('Thematique')
    
    def __unicode__(self): 
        return self.nom


class Thematique(models.Model):
    thematique = models.CharField(max_length=60)

    def __unicode__(self):
        return self.thematique

pour cela je voudrais faire un group by afin d'afficher les thématiques de mes livres  de ma table catalogue et d'éliminer le doublon

voici ma view

def list_catalogue(request):
    c = catalogue.objects.all().select_related()
    list_thematique= c.query.group_by=["thematique"]
    list_carte= catalogue.objects.all()
    return render(request, 'catalogue.html', {'thematique':list_thematique ,'carte' :list_carte})

voici ma template

<p><br>Sélectionner une thématique </br>
                    <lu id="filter">
                        <li class="filter" data-filter="all">Toutes les cartes</li>
                        {% for c  in thematique %}          
                        <li class="filter" data-filter=".{{c.thematique}}">{{c.thematique}}</li>
                        {% endfor %}                  
                    </lu >
                    </p>

mon souci est que losque je fais le group by je n'ai plus rien qui s'affiche dans la template,

merci de votre aide

Hors ligne

Pied de page des forums