我正在尝试在指定的合作伙伴位置中查找产品的 qty_available
,我有三个 Many2one
字段到 res.partner
,
printer_book_block = fields.Many2one('res.partner', string="Printer Book Block")
printer_binding = fields.Many2one('res.partner', string="Printer Binding")
printer_edging = fields.Many2one('res.partner', string="Printer Edging")
因此,在此模型的基础上,我应该寻找这些数量,具体取决于选择的 res.partner Many2one
:
order_lines = fields.One2many('bsi.print.order.lines', 'print_order', string="Order lines")
@api.multi
@api.constrains('order_lines', 'order_lines.isbn')
def check_quantity(self):
location = self.printer_book_block.property_stock_supplier.id
for rec in self:
if rec.order_lines:
for line in rec.order_lines:
if line.qty > line.isbn.qty_available in location:
rec.write({'state': 'awaitingraw'})
else:
rec.write({'state': 'work_in_progress',},)
此方法应该在 printer_book_block.property_stock_supplier
上查找 qty_available
,但它似乎并没有真正查找该特定位置。
字段 property_stock_supplier
是 res.partner
模型的一部分,它指定系统上作为供应商的每个合作伙伴的位置。
此外,我如何指定是否已选择一个 res.partner
来专门查找它?
有什么想法吗?
PS = isbn
是 product.product
的 Many2one
。
最佳答案
您可以告诉 odoo 进行计算,您可以在上下文中指定位置或仓库:
if line.qty > line.isbn.with_context({
'location' : location, # here id must be an integer not object
# 'warehouse': warehouse_id, # integer value
}).qty_available >= 0:
关于python - 查找特定 res.partner 位置的产品数量 - Odoo v8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47372731/