Как решить проблему "IndexError at / index list out of range" при наличии пустого списка

Мне интересно, какой самый простой способ вернуть null в Django, когда из API приходит пустой список "leverage_buy": [],:

my views.py

from django.shortcuts import render
from meal_app.models import Kraken
import requests

def get_krakens(request):
    all_krakens = {}
    url ='https://api.kraken.com/0/public/AssetPairs' 
    response = requests.get(url)
    data = response.json()

    for i in data['result'].values():
        kraken_data = Kraken(
            altname = i['altname'], 
            leverage_buy = i['leverage_buy'][0],
            )
        kraken_data.save()

my models.py

from django.db import models
class Kraken(models.Model):
    altname = models.CharField(max_length=50, blank = True, null = True)
    leverage_buy = models.IntegerField(blank=True, null=True)

Ответ почтальона

{
    "error": [],
    "result": {
        "1INCHEUR": {
            "altname": "1INCHEUR",
            "leverage_buy": [],


Я исследовал и тщательно пробовал множество подобных случаев, но ни в одном из них не было примера пустого списка API.

Вы можете работать с тернарным оператором:

for i in data['result'].values():
    kraken_data = Kraken.objects.create(
        altname = i['altname'], 
        leverage_buy = i['leverage_buy'][0] if i['leverage_buy'] else None
    )
Вернуться на верх