Как вставить серийный номер для следующего запроса в Django?
Info: Я хочу, чтобы серийный номер шел вместе со всеми объектами в queryset, используя Django rest framework вместо объекта ID
. Пример приведен ниже. Серийный номер начинается с первого объекта в списке queryset.
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)