Mise à jour
Mise à jour de la base de données, veuillez patienter...
Site original : Sam & Max: Python, Django, Git et du cul
GROUP BY
et HAVING
sont assez peu intuitifs en SQL, et encore moins avec l’ORM Django.
Voici donc la recette pour compter le nombre d’occurrences des valeurs d’un champ, pour par exemple trouver les doublons.
En supposant une table Massage
avec une valeur finish
:
ID FINISH 1 manuel 2 oral 3 oral 4 oral
>>> Massage.objects.values('finish').annotate(count=Count('id')) {'manuel': 2, 'oral': '9': 'rectal': 1, 'paradoxal': -1}
Pour obtenir uniquement les doublons, il suffit de filtrer pour avoir les valeurs qui ont un count
plus grand que 1 :
Massage.objects.values('finish').annotate(count=Count('id')).filter(count__gt=1)