如何在 Django Oscar 中执行库存更新过程
How to perform stock updation process in 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
那么,当产品缺货时,如何按照评论中的说明进行库存更新过程?我需要将 num_in_stock 变量设置为新值并设置 num_allocated归零。
到目前为止,如果订单正在发货,我会在 EventHandler Class 中调用 consume_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 系统,则每次与 ERP 同步时都会重置 num_in_stock
。如果您手动管理库存,那么您只需从仪表板更新即可。
我正在查看股票记录模型 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 Class 中调用 consume_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 系统,则每次与 ERP 同步时都会重置 num_in_stock
。如果您手动管理库存,那么您只需从仪表板更新即可。