def annotate(self, **kwargs) -> 'QuerySet': """ Annotate result with aggregation result. """ queryset = self._clone() for key, aggregation in kwargs.items(): if not isinstance(aggregation, Aggregate): raise TypeError('value is expected to be Aggregate instance') queryset._annotations[key] = aggregation from tortoise.models import get_filters_for_field queryset._available_custom_filters.update(get_filters_for_field(key, None, key)) return queryset
def annotate(self, **kwargs) -> "QuerySet[MODEL]": """ Annotate result with aggregation or function result. """ queryset = self._clone() for key, annotation in kwargs.items(): if not isinstance(annotation, Function): raise TypeError("value is expected to be Function instance") queryset._annotations[key] = annotation from tortoise.models import get_filters_for_field queryset._custom_filters.update( get_filters_for_field(key, None, key)) return queryset