Как запустить функцию сразу после размещения модели DRF

У меня есть api, который имеет две модели Company (которая требует название компании) и Info (которую я хочу заполнить автоматически на основе названия компании)

Итак, что я там делаю: запрашиваю название компании по адресу "localhost:8000/company/", затем я хочу получить это название, добавить его в ссылку, затем получить информацию с finance.yahoo.com с помощью get request как csv, прогнать ее и заполнить мою модель Info информацией. Проблема в том, что когда я вызываю Company.objects.last(), то получаю информацию о предыдущей компании

Например: Я размещаю ZUO, это не дает мне ничего, затем я размещаю PD и получаю информацию о ZUO

Вот мой models.py

class Company(models.Model):
    company = models.CharField(max_length=10)

class Info(models.Model):
    Date = models.CharField(max_length=64)
    Open = models.CharField(max_length=64)
    High = models.CharField(max_length=64)
    Low = models.CharField(max_length=64)
    Close = models.CharField(max_length=64)
    AdjClose = models.CharField(max_length=64)
    Volume = models.CharField(max_length=64)

Вот мой view.py

def get_download_url():
    comp = Company.objects.last()
    downloadUrl = ('https://query1.finance.yahoo.com/v7/finance/download/' + comp.company.upper() +
                    '?period1=0&period2=5000000000&interval=1d&events=history&includeAdjustedClose=true')
    return downloadUrl
    

def get_information():
    downloadUrl = get_download_url()
    headers = {'User-Agent': 'user-agent'}
    response = requests.get(downloadUrl, headers=headers)
    info = [string.split(',') for string in response.text.split('\n')[1::]]
    return info


class CompanyViewSet(viewsets.ModelViewSet):
    serializer_class = CompanySerializer
    queryset = Company.objects.none()
    def create(self, request, *args, **kwargs):
        serializer = self.get_serializer(data=request.data)
        serializer.is_valid(raise_exception=True)
        Info.objects.all().delete()
        info = get_information()
        for row in info:
            comp_info = Info()
            comp_info.Date = row[0]
            comp_info.Open = row[1]
            comp_info.High = row[2]
            comp_info.Low = row[3]
            comp_info.Close = row[4]
            comp_info.AdjClose = row[5]
            comp_info.Volume = row[6]
            comp_info.save()
        self.perform_create(serializer)
        headers = self.get_success_headers(serializer.data)
        return Response(serializer.data, status=status.HTTP_201_CREATED, headers=headers)


class InfoViewSet(viewsets.ModelViewSet):
    serializer_class = InfoSerializer
    queryset = Info.objects.all()

Вот мой serializers.py

class InfoSerializer(serializers.ModelSerializer):
    class Meta:
        model = Info
        fields = ('Date', 'Open', 'High', 'Low', 'Close', 'AdjClose', 'Volume')

class CompanySerializer(serializers.ModelSerializer):
    class Meta:
        model = Company
        fields = '__all__'

Здесь urls.py

router = DefaultRouter()

router.register('company', views.CompanyViewSet)
router.register('Info', views.InfoViewSet)

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include(router.urls)),
]
Вернуться на верх