Вы используете все поля в запросе для существующих экземпляров. Вам нужно просто использовать уникальные там, а остальное в defaults
.
CryptoPrices.objects.update_or_create(
key=exchange_rate['id'],
symbol=exchange_rate['symbol'],
defaults={
"market_cap_usd": round(float(exchange_rate['market_cap_usd']), 3),
"volume_usd_24h": round(float(exchange_rate['24h_volume_usd']), 3),
"value": round(float(exchange_rate['price_usd']), 3)
})
Это задокументировано здесь . Надеюсь, что это поможет.
Удаление неиспользуемых индексов
Когда вы изменяете или удаляете индекс из index.yaml исходный индекс не удален из App Engine автоматически. Это дает вам возможность оставить старую версию приложения, работающего при новых индексах строятся, или вернуться к старая версия немедленно, если проблема обнаруживается в более новой версии.
Если вы уверены, что старые индексы больше не нужны, вы можете удалить их из App Engine, используя следующие команда:
appcfg.py Vacuum_indexes myapp /
Эта команда удаляет все индексы для приложения, которые не упомянуты в локальной версии index.yaml.