Skip to content

Instantly share code, notes, and snippets.

@gladson
Forked from martync/aggregate_tags.py
Created January 25, 2014 07:00
Show Gist options
  • Save gladson/8612788 to your computer and use it in GitHub Desktop.
Save gladson/8612788 to your computer and use it in GitHub Desktop.
from django import template
from django.db.models import Sum, Avg, Max, Min, Count
register = template.Library()
@register.filter
def sum(queryset, field):
return queryset.aggregate(sum_value=Sum(field)).get('sum_value')
@register.filter
def avg(queryset, field):
return queryset.aggregate(avg_value=Avg(field)).get('avg_value')
@register.filter
def min(queryset, field):
return queryset.aggregate(min_value=Min(field)).get('min_value')
@register.filter
def max(queryset, field):
return queryset.aggregate(max_value=Max(field)).get('max_value')
@register.filter
def count(queryset, field):
return queryset.aggregate(count_value=Count(field)).get('count_value')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment