103 votes

Requête SUM de Django ?

J'ai une question qui ressemble à la suivante :

SELECT SUM(ISNULL(table.name)) FROM table

Comment cela SUM se traduisent par un QuerySet dans Django ? c'est-à-dire quelle opération xyz se traduit-il par quelque chose comme MyModel.objects.xyz() ?

201voto

rolling stone Points 4286

Mise à jour : Le texte suivant incorpore l'aspect ISNULL de la requête originale :

from django.db.models import Sum

ModelName.objects.filter(field_name__isnull=True).aggregate(Sum('field_name'))
# returns {'field_name__sum': 1000} for example

Vous recherchez la fonction d'agrégation Sum, qui fonctionne comme suit :

ModelName.objects.aggregate(Sum('field_name'))

Voir : https://docs.djangoproject.com/en/dev/ref/models/querysets/#sum

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X