Как оптимизировать поиск данных
Я делаю скраппинг данных из внешнего 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} )