django - 如何在 Django Oscar 中执行库存更新过程

标签 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

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

到目前为止,如果订单正在发货,我会调用 EventHandler 类中的 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。如果您手动管理库存,那么您只需从仪表板更新即可。

关于django - 如何在 Django Oscar 中执行库存更新过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52182325/

相关文章:

python - Django NoReverseMatch

reactjs - 如何使用 OAuth 中的访问 token 获取 Google 用户个人资料信息?

python-3.x - 在 python 中,如何使我的混淆矩阵图只有 1 个小数?

Python Pandas - 将 groupby 函数的结果返回到父表

python - 从管理界面保存时未触发 Django 信号

python - 如何停止在 django/python 中记录发送长度消息

python - 减少 Django 数据库查询

python - tkinter 标签在一段时间后消失

Django-Oscar 覆盖模板标签

python - 新添加的字段未显示在 Django Oscar 的配置文件编辑表单中?