出库时的 stock.move.line 是如何确定的
用通俗但不失源码细节的方式,讲清楚 Odoo 出库时 stock.move.line 的生成逻辑:从 stock.move、stock.quant、移除策略到 lot/serial 拆行。
CATEGORY FOCUS
聚合 Odoo 开发基础、源码理解、ORM、模型、视图、安全与扩展实践。
TOPIC PICKS
用通俗但不失源码细节的方式,讲清楚 Odoo 出库时 stock.move.line 的生成逻辑:从 stock.move、stock.quant、移除策略到 lot/serial 拆行。
很多 Odoo 开发会用序列,但不真正理解 ir.sequence 在解决什么问题。本文把单号生成、编号规则和业务对象之间的关系讲清楚。
很多 Odoo 定制问题,看起来像“权限怪怪的”,其实是 sudo、with_user、with_company 混用导致边界不清。本文把这三个常见 API 讲透。
很多 Odoo 性能问题,不是数据库本身太慢,而是代码总在单条循环里把 ORM 优势用没了。本文讲清 recordset 和 prefetch 背后的思路。
很多字段设计问题,本质上是没有想清楚这个字段到底是直接存、关联取、计算得,还是允许反向写回。本文一次理清 related、compute、inverse、store 的边界。
很多 Odoo 开发卡在 domain,不是因为不会写,而是没有真正理解 domain 在表达什么。本文把它从“怪语法”翻译成人话。
删除逻辑看起来简单,实际上很容易把数据一致性、业务保护、关系约束一起打穿。本文讲清 unlink 和 ondelete 背后的设计边界。