【问题标题】:Add new elements in the "basket" in django oscar在 django oscar 的“篮子”中添加新元素
【发布时间】:2020-02-12 17:13:07
【问题描述】:

我正在寻找一种将产品保存在购物车中的方法,但我在 google 上没有找到太多内容,官方文档中也没有明确的示例 (https://django-oscar.readthedocs.io/en/2.0.4/ref/apps/basket.html)。

那么有人知道要导入哪些库以及如何以编程方式保存产品吗?

我正在等待答案,谢谢!

【问题讨论】:

  • 你到底有什么不明白的?如果您有一个basket 实例(型号Basket)和一个product 实例(型号Product),那么basket.add(product) 会将产品添加到购物篮中。
  • @dirkgroten 没有为这个购物篮分配策略类
  • 这个解释here,在将产品添加到购物篮时需要策略类来确定价格。
  • @dirkgroten 所以我必须写这个? strategy = Selector().stategy() 和 bakset = Basket() basket.strategy = strategy basket.add(product)
  • 据我所知,您不必做任何事情(甚至不写任何视图)即可使用标准的奥斯卡篮子/视图等:只需将 oscar urls 添加到您的网址即可。 py,你将拥有一切。查看示例项目。

标签: python django django-oscar


【解决方案1】:

我也有同样的问题,这就是我在 Django shell 中所做的:

>>> from oscar.apps import catalogue, basket, partner
>>> my_product = catalogue.models.Product.objects.order_by('?').first() #get a random product
>>> my_basket = basket.models.Basket()
>>> my_basket.strategy = partner.strategy.Default()
>>> my_basket.add_product(my_product)
(<Line: Cart #7, Product #3, quantity 1>, True)
>>> 

Django 3.2、Oscar 3.1、Python 3.9

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-10
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多