Beispiel #1
0
 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
Beispiel #2
0
    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