После разговора с вами что-то подобное сработает, но вам придется изменить его под свои нужды. Я бы использовал сеансы , потому что их значения хранятся без необходимости сохранения вашего текущего поля модели в базе данных, и пользователи по-прежнему могут просматривать сайт без необходимости каждый раз обновлять значения.
Помните: Сессии доступны как словари.Но вы должны .save () их так же, как и любая другая модель, потому что она все еще хранится в базе данных.Причина, по которой вы должны использовать их вместо своей модели продукта, заключается в том, что сессии предназначены для случайных действий, и их легко очистить с помощью python manage.py clearsessions
.Если вы использовали свою собственную модель, предполагая, что у вас есть тысячи моделей для поиска, которые никогда не были куплены кем-то, это НАДЕЖНО и быстрее и обеспечивает чистоту вашей базы данных.
Это быстрый ответ, хотя япредложить вам создать корзину, которая уже была сделана кем-то другим.Проверьте djangopackages.org на наличие хороших.То, что у них есть, будет лучше, чем то, что я собираюсь вам показать, хотя по этому принципу вы должны следовать в любом случае.
ОБЩИЕ ШАГИ, КОТОРЫЕ СЛЕДУЕТ ПРИНЯТЬ:
- Создайте ключ сеанса:
request.session['cart'] = {}
- Добавьте ключи и значения к нему:
request.session['cart']['product_id'] = 111
- Добавьте дополнительные значения к этому продукту:
request.session['cart']['quantity'] = 222
- Сохраните его:
request.session.save()