Как добавлять товары в корзину, используя сессии в качестве гостя в django

settings.py

 CACHES = {
    'default': {
    'BACKEND': 'django.core.cache.backends.db.DatabaseCache',
    'LOCATION': 'my_cache_table',
    }
}

SESSION_ENGINE = "django.contrib.sessions.backends.cache"

models.py

class Product(models.Model):
    title = models.CharField(max_length=255)
    slug = models.SlugField(default='-')
    description = models.TextField()
    unit_price = models.FloatField()
    inventory = models.IntegerField()
    last_update = models.DateTimeField(auto_now=True)
    collection = models.ForeignKey(Collection, on_delete=models.PROTECT)
    promotions = models.ManyToManyField(Promotion)

class Cart(models.Model):
    created_at = models.DateTimeField(auto_now_add=True)

class CartItem(models.Model):
    cart = models.ForeignKey(Cart, on_delete=models.CASCADE)
    product = models.ForeignKey(Product, on_delete=models.CASCADE)
    quantity = models.IntegerField()

Я хочу добавлять товары в корзину с помощью сессии через кэш. как я могу сделать ключ 'cart' в request.session и добавить в него id этих товаров. Сначала я пытался установить ключ 'cart' с помощью request.session.setdefault('cart', list()), но потом я прочитал документацию django и там сказано, что элементы должны быть в виде словарей (в соответствии с конвенциями). Так что же я могу сделать, чтобы хранить товары в корзине для гостевых пользователей?

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