【问题标题】:Django Oscar get cheapest offer姜戈奥斯卡获得最便宜的报价
【发布时间】:2020-02-08 03:42:13
【问题描述】:

我是 Django Oscar 框架的新手。我的问题是,当我将优惠添加到购物篮时,它会将第一个创建的优惠添加到给定的产品,而不是最便宜的优惠。

offer条件类型为Count,福利类型为Absolute,例如:

{
    "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
}

如果产品有这两个优惠。我需要添加最便宜的报价,但是当我使用 oscar 内置的应用报价方法时,它会添加第一个对象,而不是最便宜的对象

【问题讨论】:

    标签: python django python-3.6 django-oscar


    【解决方案1】:

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

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

    如果哪个报价更便宜取决于篮子中的内容,那么情况会更复杂。您必须自己提供处理此问题的逻辑 - 例如,通过覆盖 Applicator 类来指定应用优惠的自定义顺序。

    【讨论】:

    • 然后我可以使用篮子中间件添加我自己的逻辑。
    猜你喜欢
    • 2013-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-04
    • 2013-10-28
    • 2020-08-17
    • 1970-01-01
    相关资源
    最近更新 更多