Sam*_*y J 3 django python-3.x django-oscar
我正在浏览股票记录模型的代码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
Run Code Online (Sandbox Code Playgroud)
那么,当产品缺货时,我如何按照评论中指定的方式进行库存更新过程?我需要将 num_in_stock 变量设置为新值并将 num_allocated 设置为零。
到目前为止,如果订单正在发货,我会调用 EventHandler 类中的 consumer_stock_allocations() 方法,并且订单中产品的库存数量正在减少。
如果有人已经实现了这个,请分享一些代码或一些例子,因为我是 oscar 的新手。
对于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 系统获取库存信息,那么您将重置在num_in_stock每次与ERP同步。如果您手动管理库存,则只需从仪表板进行更新。
| 归档时间: |
|
| 查看次数: |
742 次 |
| 最近记录: |