Skip to content

Instantly share code, notes, and snippets.

@LowerDeez
Forked from iandmyhand/django_absolute_sum.py
Created April 24, 2019 09:02
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LowerDeez/eca826eec39fd1f140a56589f12a3657 to your computer and use it in GitHub Desktop.
Save LowerDeez/eca826eec39fd1f140a56589f12a3657 to your computer and use it in GitHub Desktop.
Django ORM function to sum absolute values.
from django.db.models import Sum
class AbsoluteSum(Sum):
name = 'AbsoluteSum'
template = '%(function)s(%(absolute)s(%(expressions)s))'
def __init__(self, expression, **extra):
super(AbsoluteSum, self).__init__(
expression, absolute='ABS ', output_field=IntegerField(), **extra)
def __repr__(self):
return "SUM(ABS(%s))".format(
self.arg_joiner.join(str(arg) for arg in self.source_expressions)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment