8
muszę zrobić następujące kwerendy w Django:Jak pomnożyć i suma dwóch kolumn z grupy przez w django
SELECT sum(T.width * T.height) as amount
FROM triangle T
WHERE T.type = 'normal'
GROUP BY S.color
Jak mogę to zrobić za pomocą django ORM? Próbowałem to:
Triangle.objects.filter(type='normal').\
extra(select={'total':'width*height'}).\
values('id', 'total').\
annotate(amount=Sum('total'))
ale to nie działa, błąd pojawia się to, że nie jest RAZEM w modelu. Jak mogę to naprawić?
Dziękuję bardzo przyjacielu, twoje rozwiązanie bardzo mi pomogło. – rodrixd
Czy to jest nieudokumentowana funkcja ...? Nie widzę go nigdzie na stronie agregacji Django docs. https://docs.djangoproject.com/en/1.8/topics/db/aggregation/ – tufelkinder
@tufelkinder to czas, w którym użyłem django, a odpowiedź została opublikowana dawno temu. Po szybkim przyjrzeniu się dokumentom nie widzę, żeby słowo kluczowe 'field' zostało udokumentowane. Dobry połów, byłby zadowolony, gdyby można było znaleźć odniesienie do dokumentacji. Dzięki! – alecxe