Я пытаюсь найти способ сделать аннотацию для двух полей в модели, добавленной вместе.Что-то вроде:
total_done = qs.values(
'ability__ability_name',
).extra(
select={
'total_amount': 'effective_value + overage',
}
).annotate(
total=Sum('total_amount'),
).values(
'ability__ability_name', 'total_amount'
).order_by('-total_amount')
Вышеприведенное не работает и выдает ошибку «Не удается разрешить ключевое слово« total_amount »в поле». Я уже пробовал решение, указанное здесь: Использование .aggregate () длязначение, введенное с помощью .extra (select = {...}) в запросе Django? Однако не повезло получить «Не удается разрешить ключевое слово total_amount» в поле »
Что-либо, кроме выполнения запросав raw sql передаваемая строка запроса может иметь различные фильтры и исключать уже выполненные над ней, что делает эту перспективу немного сложной.Я также пытаюсь избежать добавления поля к фактической модели и вычисления его значения во время сохранения, если только это не единственный способ.