Как получить доступ к элементу из списка словарей
Я пытаюсь создать представление корзины по учебнику, и мне нужно вывести количество товара. У меня есть две функции в utils.py, откуда я хочу получить доступ к элементу количества и вывести его в представлении, в настоящее время получаю ошибку unhashable type: 'list'
def cookieCart(request):
try:
cart = json.loads(request.COOKIES['cart'])
except:
cart = {}
print('Cart:', cart)
items = []
order = {'get_cart_total': 0, 'get_cart_items': 0, 'shipping': False}
cartItems = order['get_cart_items']
for i in cart:
try:
cartItems += cart[i]["quantity"]
product = Product.objects.get(id=i)
total = (product.final_price * cart[i]["quantity"])
order['get_cart_total'] += total
order['get_cart_items'] += cart[i]["quantity"]
item = {
'product':{
'id':product.id,
'name':product.name,
'final_price':product.final_price,
'image_URL':product.image_URL,
},
**#print the quantity on view**
'quantity':cart[i]["quantity"],
'get_total':total,
}
items.append(item)
except:
pass
return {"items": items, "order": order, "cartItems": cartItems}
def cartData(request):
if request.user.is_authenticated:
customer = request.user.customer
order, created = Order.objects.get_or_create(customer=customer, complete=False)
items = order.orderitem_set.all()
cartItems = order.get_cart_items
else:
cookieData = cookieCart(request)
cartItems = cookieData['cartItems']
order = cookieData['order']
items = cookieData['items']
return {'cartItems':cartItems ,'order':order, 'items':items}
def my_view(request):
data = cartData(request)
qty = data['item',['quantity']]
print(qty)
Не уверен, как выглядят ваши данные, но вот где может быть проблема:
def my_view(request):
data = cartData(request)
qty = data['item']['quantity']
# qty = data['item',['quantity']]
print(qty)
items в "my_view" является кверисетом :
items = order.orderitem_set.all()
Есть ли у него свойство .quantity? Я не знаю, как построена ваша модель.