Я не могу переопределить метод create, на serializers.ModelSerializer

Я уверяю вас, что перед тем, как писать, я обыскал весь интернет.

Моя проблема заключается в следующем:

Я пытаюсь добавить поле на ModelSerializer модели, поле передается из представления и я пытаюсь добавить его в ответ. Я пытался переопределить create (), но он даже не вписывается в него

сериализаторы:

view

class MetricsListV2(APIView):
    # metrics/all/

    permission_classes = (permissions.IsAuthenticated,)

    @swagger_auto_schema(responses={200: companies_v2_serializer.MetricsV2Serializer()})
    def get(self, request):
        try:
            date_from = request.query_params["date_from"]
            date_to = request.query_params["date_to"]
        except Exception:
            return Response(
                {"status": "date_from or date_to required fields error"},
                status=status.HTTP_500_INTERNAL_SERVER_ERROR,
            )
        date_from = datetime.datetime.strptime(date_from, '%Y-%m-%d')
        date_to = datetime.datetime.strptime(date_to, '%Y-%m-%d')

        team = request.query_params.get("team", None)
        category = request.query_params.get("category", None)
        store = request.query_params.get("store", None)
        social_page = request.query_params.get("social_page", None)

        ticket_aggregation = ticketaggregation_timeline(
            date_from=date_from,
            date_to=date_to,
            team=team,
            store=store,
            social_page=social_page,
            category=category,
        )

        if ticket_aggregation == None:
            return Response(
                {"status": "Aggregation data not found"},
                status=status.HTTP_404_NOT_FOUND,
            )

        ticket_h = TicketHistoryAggregation.objects.filter(
                aggregation_date__gte=date_from,
                aggregation_date__lte=date_to,
                category=None,
                team=None
                ).aggregate(
                    ticket_closed=Sum(F(("ticket_closed"))),
                    ticket_closed_w_time=Avg(F("ticket_closed_w_time")),
                    ticket_closed_time=Avg(F("ticket_closed_time")),
            )

        serializer = companies_v2_serializer.MetricsV2Serializer(ticket_aggregation)
#--------- this field total_managed_today
        serializer.data['total_managed_today'] = ticket_h.get('ticket_closed', 0)
        serializer.data['avr_management_work_time']['today_closed']=ticket_h.get('ticket_closed_w_time', 0)
        serializer.data['avr_management_time']['today_closed']=ticket_h.get('ticket_closed_time', 0)

#        log.info('controllo serializer dopo')
#        log.info(serializer)

        return Response(serializer.data)

мой целью является добавить total_managed_today в ответ, как вы можете видеть, я не могу создать SerializerMethodField, но я даже не могу изменить из create override, потому что я не могу войти в систему, никаких логов или ошибок. Вы можете мне помочь?

Вернуться на верх