Django Project : объект 'dict' не имеет атрибута 'code'

Я получил список товаров через API, затем я использую django-shopping-cart для создания корзины. Но у меня ошибка 'dict' объект не имеет атрибута 'code'.

ошибка в этой строке: if product.code == code, в то время как в дикте действительно есть атрибут code

def cart_add(request,code):
url='http://myapi/Product/GetProducts'
x=requests.get(url)
content=x.json()
all_products=content['products']
for product in all_products :
    if product.code == code :
        cart=Cart(request)
        cart.add(product = product.code)
return render(request,'shop/deatil.html')

На уровне API спецификация словаря имеет вид:

dict = {
     "products": [
     {
       "code": "4mlk2",
       "designation": "kaka"
     },
     {
       "code": "455ml",
       "designation": "koko"
     },
     ....
    ]
   }

Классическая проблема, с которой я также сталкиваюсь при переходе, например, с Javascript :-) В python нет точечной нотации для доступа к диктам. В python есть два способа доступа к дикте:

product["code"]

или

product.get("code")

Последнее имеет то преимущество, что вы можете передать значение по умолчанию в случае, если ключ "code" недоступен:

product.get("code", "123421")

Вернуться на верх