【问题标题】:How to perform stock updation process in Django Oscar如何在 Django Oscar 中执行股票更新过程
【发布时间】:2018-09-05 09:58:53
【问题描述】:

我正在查看股票记录模型here 的代码,在评论中提到的 num_allocated 字段上方,

#: The amount of stock allocated to orders but not fed back to the master
#: stock system.  A typical stock update process will set the num_in_stock
#: variable to a new value and reset num_allocated to zero

那么,当产品缺货时,如何按照评论中的说明进行库存更新过程?我需要将 num_in_stock 变量设置为新值,并将 num_allocated 设置为零。

到目前为止,如果订单正在发货,我会调用 EventHandler 类中的 consume_stock_allocations() 方法,并且订单中产品的库存数量正在减少。

如果有人实现了这个,请分享一些代码或一些示例,因为我是 oscar 的新手。

【问题讨论】:

    标签: django python-3.x django-oscar


    【解决方案1】:

    对于num_allocated,最常见的解决方法是消费

    EventHandler().consume_stock_allocations(order, [lines], [line_quantities])

    或取消

    EventHandler().cancel_stock_allocations(order, [lines], [line_quantities])

    每次发送或取消订单时分配。正如您所做的那样,在运输事件处理程序中执行此操作非常好。

    这将清除分配并将num_in_stock 减少与分配相同的数量(用于消耗,而不是取消) - 即,您无需执行任何其他操作来调整num_in_stock

    您需要做的是在新库存到货时及时更新num_in_stock。您如何执行此操作实际上取决于您在网站上管理库存的方式 - 例如,如果您从第三方 ERP 获取库存信息系统,那么您将在每次与 ERP 同步时重置num_in_stock。如果您手动管理库存,那么您只需从仪表板更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-27
      • 1970-01-01
      • 2020-01-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-19
      相关资源
      最近更新 更多