我是Django Oscar框架的新手。我的问题是,当我将报价添加到购物篮时,它将向指定产品添加第一个创建的报价,而不是最便宜的报价。
要约条件类型为计数,收益类型为绝对,例如:
{
"id": 74,
"type": "Absolute",
"value": "70.00",
"max_affected_items": 1,
"proxy_class": "",
"range": 54
},
{
"id": 75,
"type": "Absolute",
"value": "100.00",
"max_affected_items": 1,
"proxy_class": "",
"range": 55
}
如果产品有这两个优惠。我需要添加最便宜的报价,但是当我使用奥斯卡内置的apply offer方法时,它将添加第一个对象,而不是最便宜的一个]
[Oscar不会自动为您找到最便宜的报价-它按priority的顺序应用报价。
在上面提供的示例中,两个报价都有固定的折扣,您可以简单地通过为便宜的报价设置正确的优先级来解决此问题,以便始终先应用它。
如果哪个报价更便宜取决于购物篮中的内容,那将更加复杂。您必须提供自己处理的逻辑-例如,通过重写Applicator
类以指定应用要约的自定义顺序。