Django : Eliminer les doublons, utilisation de group by

Publié le 28 avril 2009 par Samuel Martin

Nous avons parfois besoin d'éviter les doublons en sortie de requête. Il existe plusieurs solutions afin obtenir satisfaction.

  • distinct()
  • values()
  • values_list()

Mais il existe aussi la commande magique groupby() qui contrairement à "values" et "values_list" est capable de renvoyer un objet complet constitué de tous ses champs. Voici un exemple :

c = Blog.objects.filter(category=125)
c.query.group_by = ["author"]
for st in c:
   print st.id