Как оптимизировать поиск данных

Я делаю скраппинг данных из внешнего API в мою базу данных на Django. Этот метод занимает очень много времени для загрузки. Есть ли лучший способ сделать это? Кроме того, каждый раз, когда я перезагружаю страницу, данные реплицируются внутри базы данных. Вот код из моего файла views.py:

def market_data(request):

# GET MARKETPLACE ASKS
NFT_list = {}
URL = '...&page_number=1'
response = requests.get(URL).json()
pages = response['result']['page_count']
page_index = 1
for page in range(pages):
    URL = "...&page_number="+str(page_index)
    response = requests.get(URL).json()
    nfts = response['result']['ask_summaries']
    for item in nfts:
        if NFT.objects.filter(nft_data_id = ['nft_data_id']).exists():
            pass
        else:
            nft_data = NFT(
                nft_data_id = item['nft_data_id'],
                brand = item['brand'],
                price_low = item['price_low'],
                price_high = item['price_high'],
                nft_count = item['nft_count'],
                name = item['name'],
                series = item['series'],
                rarity = item['rarity'],
                )
            nft_data.save()
            NFT_list = NFT.objects.all()

page_index += 1

return render(request, 'main/market_data.html', {'NFT_list' : NFT_list} )
Вернуться на верх