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")