ho bisogno di essere in grado di ordinare l'aggregato di due colonne annotatisottrazione di due colonne annotati
Così mi piacerebbe fare qualcosa di simile:
c = c.annotate(metric=Sum('results__metric'))
c = c.annotate(metric_prior=Sum('results__metric_prior'))
c = c.annotate(variance=F('metric')-F('metric_prior')) #doesn't work, for demonstrative purposes only
e poi:
c = c.order_by('variance')
Qualcuno sa come realizzare qualcosa come sopra?
Credo che l'ORM Django non possa essere piegato così tanto, ma sto inviando la tua domanda, perché mi piacerebbe vedere se qualcuno può allungarlo fino ad ora. Il mio consiglio è di sporcarti le mani usando SQL raw o utilizzare un ORM più potente come SQLAlchemy (puoi usarlo insieme a Django ORM, vedi SQLSoup). –
questa funzione è vicina a farne una versione futura di Django https://github.com/django/django/pull/2496 – Anentropic