Повторное использование аннотированного значения в кверисете Django
В этой аннотации я создаю значение ever_error, которое равно 1, если для любой уникальной комбинации 'image__image_category__label', 'image__subject', 'image__event' и 0 в противном случае
d = ImageAcquisitionJob.active_objects.values('image__image_category__label', 'image__subject', 'image__event')\
.annotate(
ever_error=(
Max( Case(When(has_error=True, then=Value(1)), default=Value(0), output_field=IntegerField()) )
)
)
Теперь моя цель - сделать новую аннотацию, которая суммирует атрибут ever_error для каждого 'image__image_category__label'
d = d.values('image__image_category__label').annotate(has_error=Sum('ever_error'))
Однако это невозможно, поскольку я получаю ошибку: Cannot compute Sum('ever_error'): 'ever_error' is an aggregate
Суть моей проблемы в том, что мне нужно снова использовать первую аннотацию как обычное поле, но это не разрешено. Есть ли способ сохранить аннотированное поле, чтобы я мог использовать его снова?