Задать вопрос
DoggieMurr
@DoggieMurr
Python Enthusiast

Как взаимодействовать с аннотированым полем в django orm?

Приветствую!
Есть запрос
qs = Model1.objects.annotate(
    field1=Sum(10+10),
    field2=Sum(F('field1') + 10)       # и здесь надо получить доступ к аннотированому полю
)

Если делать такой запрос, выскакивает ошибка Cannot resolve expression type, unknown output_field
Если вывести без каких либо операций, просто field2=F('field1'), то всё работает. Но нужно сделать мат. операции
  • Вопрос задан
  • 151 просмотр
Подписаться 2 Простой 1 комментарий
Пригласить эксперта
Ответы на вопрос 1
У вас происходит смещение типов, и чтобы django знал какой тип ему на выходе отдать, нужно его указать явным образом
Sum(F('field1') + 10, output_field=FloatField())
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы