Django Oscar获得最便宜的报价

问题描述 投票:0回答:1

我是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方法时,它将添加第一个对象,而不是最便宜的一个]

python django python-3.6 django-oscar
1个回答
0
投票

[Oscar不会自动为您找到最便宜的报价-它按priority的顺序应用报价。

在上面提供的示例中,两个报价都有固定的折扣,您可以简单地通过为便宜的报价设置正确的优先级来解决此问题,以便始终先应用它。

如果哪个报价更便宜取决于购物篮中的内容,那将更加复杂。您必须提供自己处理的逻辑-例如,通过重写Applicator类以指定应用要约的自定义顺序。

© www.soinside.com 2019 - 2024. All rights reserved.