Как вставить значение при выполнении запроса post в postman с помощью django

Views.py

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
from rest_framework import viewsets
import requests
import gdown
from pydub import AudioSegment
import speech_recognition as sr
from .serializers import *
from .models import *
import  time
from requests.adapters import HTTPAdapter
from urllib3.util.retry import Retry
from urllib.request import urlopen

class VoiceViewSet(viewsets.ModelViewSet):

    queryset = Voiceapi.objects.all()

    serializer_class = VoiceSerializer


    datas = Voiceapi.objects.values()
    print(datas)

    def post(self,request):
        vc_api = Voiceapi.objects.all()
        serializer = VoiceSerializer(vc_api,many=True)



    for i in datas:
        try:
            print("Audio File-->",i['name'])
            audio_url = i['name']
            audio_id = i['id']
            output = '/home/venpep/voicetotext/messages/media/sample2.ogg'
            gdown.download(audio_url, output, quiet=False)
            src = "/home/venpep/voicetotext/messages/media/sample2.ogg"
            # time.sleep(15)
            dst = "/home/venpep/voicetotext/messages/media/test.wav"
            sound = AudioSegment.from_ogg(src)
            sound.export(dst, format="wav")
            # time.sleep(15)
            def VoiceRecognizer(audio,audio_id):
                r = sr.Recognizer()
                with sr.AudioFile(audio) as source:
                    audio_text = r.listen(source)
                    try:
                        text = r.recognize_google(audio_text)
                        print(text)
                    except:
                        print('Audio Not Clear')
            audio = "/home/venpep/voicetotext/messages/media/test.wav"
            VoiceRecognizer(audio,audio_id)
        except:
            print("Not audio file")

Models.py

from django.db import models
class Voiceapi(models.Model):
    id = models.IntegerField(primary_key=True)
    name = models.CharField(max_length=200)
    voice_text = models.CharField(max_length=200,default="voice_data")

Serializer.py

from .models import *
class VoiceSerializer(serializers.HyperlinkedModelSerializer):
    # specify model and fields
    class Meta:
        model = Voiceapi
        fields = ('id', 'name', 'voice_text')

Когда я размещаю данные, "текст" из views.py должен вставляться в поле voice_text в базе данных models.py, где я задал значение по умолчанию. Есть ли какое-нибудь решение, чтобы я мог вставить текстовые данные в поле voice_text, когда запрос post будет выполнен.

Прямо сейчас мой вывод таков :

{ "id": 8, "name": "https://storage.googleapis.com/wtleu/assets/1166882/inbox/919944470015/5505314129517179.ogg", "voice_text": "voice_data". }

Требуемый вывод:

{ "id": 8, "name": "https://storage.googleapis.com/wtleu/assets/1166882/inbox/919944470015/5505314129517179.ogg", "voice_text": "Это текст голосового сообщения". }

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