Использование .extra () в полях, созданных .annotate () в Django

Я хочу получить сумму двух полей (которые сами по себе являются агрегатами) для каждого объекта в таблице.

Следующее может немного лучше описать то, что мне нужно, но приводит к Неизвестный столбец в списке полей -Ошибка:

items = MyModel.objects.annotate(
                field1=Sum("relatedModel__someField"),
                field2=Sum("relatedModel__someField")).extra(
                        select={"sum_field1_field2": "field1 + field2"})

Я также пробовал использовать F () для поиска полей, но это дает мне недопустимый оператор sql.

Приветствуются любые идеи о том, как решить эту проблему.

15
задан jnns 4 February 2011 в 14:20
поделиться