Django аннотирует вычисленный средний подзапрос - PullRequest
0 голосов
/ 08 ноября 2019

Как найти значение avg для вычисляемого поля, сгруппированного по другому полю?

Предположим, у нас есть модель, которая содержит три поля:

class MyModel(models.Model):
    section = models.CharField()
    num_1 = models.IntegerField()
    num_2 = models.IntegerField()

Я хочу повторить следующее поведение sql, используяdjango ORM:

SELECT section, AVG(relation) AS relation_avg 
FROM (SELECT *, (num_1 / num_2) AS "relation" FROM my_model)
GROUP BY section

, который в основном вычисляет среднее значение вычисляемого поля, сгруппированного по полю раздела.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...