Как вставить серийный номер для следующего запроса в Django?

Info: Я хочу, чтобы серийный номер шел вместе со всеми объектами в queryset, используя Django rest framework вместо объекта ID. Пример приведен ниже. Серийный номер начинается с первого объекта в списке queryset.

enter image description here

serializers.py

class LiveStreamSerializer(serializers.ModelSerializer):

    def get_serial(self, obj):
        return LiveStream.objects.count()

    serial = serializers.SerializerMethodField('get_serial')

    class Meta:
        model = LiveStream
        fields = ['id', 'channel', 'live_stream_id', 'serial', 'stream']

Я думаю, что вы можете добавить дополнительное поле, настроив функцию get класса ListAPIView.

class LiveStreamListApi(generics.ListAPIView):
    queryset = LiveStream.objects.all()
    serializer_class = LiveStreamSerializer

    def get(self, request):
        live_streams = LiveStreamSerializer(self.get_queryset(), many=True).data
        for index, _ in enumerate(live_streams)
            live_streams[index]['serial'] = index + 1
        return Response(live_streams)

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