Сериализаторы моделей по умолчанию сериализуют только поля модели.Но хорошая новость заключается в том, что вы всегда можете добавить настраиваемые поля в ваш сериализатор.
Не знаю, какие именно у вас модели, но в коде это может выглядеть так:
class SalesManSerializer(serializers.ModelSerializer):
total_orders = serializers.IntegerField()
class Meta:
module = models.SalesMan
fields = ('id', 'name', 'total_orders')
Сериализаторыответственность только за сериализацию.Они не создают наборы запросов для нас.Тем не менее, вы должны аннотировать запрос установить самостоятельноВ представлении или там, где набор запросов будет инициализирован и передан в сериализатор, вы можете использовать аннотация для аннотирования объекта с количеством заказов.
Например:
class SalesManViewSet(viewsets.ModelViewSet):
serializer_class = SalesManSerializer
def get_queryset(self):
return SalesMan.objects.annotate(
total_trucks = Count('orders'),
)