Is it possible to use the django ORM to order a queryset by the sum of two different fields?
For example, I have a model that looks like this:
class
I think it's time to provide better answer. Since django team is considering deprecating extra(), it's better to use annotate()
with F()
expression:
from django.db.models import F
Component.objects.annotate(fieldsum=F('material_cost') + F('labor_cost')).order_by('fieldsum')
see also https://code.djangoproject.com/ticket/25676