@wvanya

Почему возникает ошибка AttributeError: Class object has no attribute?

методы класса почему то не видят поле self.sale_cart , выбрасывая исключение AttributeError: 'Cart' object has no attribute 'sale_cart'. Почему так происходит и как можно исправить?

cart.py :
from decimal import Decimal
from django.conf import settings
from app_shop.models import ProductShop


class Cart:

    def __init__(self, request):
        """Инициализация объекта корзины."""
        self.session = request.session
        session_cart = self.session.get(settings.CART_SESSION_ID)
        if not session_cart:
            # Сохраняем в сессии пустую корзину.
            session_cart = self.session[settings.CART_SESSION_ID] = {}
            self.sale_cart = session_cart

    def add(self, product, quantity=1, update_quantity=False):
        """
        Добавить продукт в корзину или обновить его количество.
        """
        product_id = str(product.id)
        if product_id not in self.sale_cart:
            self.sale_cart[product_id] = {'quantity': 0, 'price': str(product.price)}
        if update_quantity:
            self.sale_cart[product_id]['quantity'] = quantity
        else:
            self.sale_cart[product_id]['quantity'] += quantity
        self.save()
  • Вопрос задан
  • 784 просмотра
Решения вопроса 1
@dima20155
you don't choose c++. It chooses you
Видится мне, что в конструкторе класса у вас не создаётся переменная self. sale_car
До условия if в конструкторе класса присвойте переменной какое-нибудь значение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы